Nowe posty

Autor Wątek: [C++] Funkcja write() - problem z wpisywaniem liczb do pliku  (Przeczytany 3315 razy)

tomy6

  • Gość
Probuję przekazać z potoku kilka liczb np 67 456 23 768 te liczby wprowadzam w lini poleceń w pierwszym programie(odpada więc traktowanie jaki stringu).

Wrzucam je do tablicy funkcją read(fd, buf,100) w drugim programie.
Następnie chce je wpisać do pliku wiec otwieram plik.... i zaczynam wpisywac do tego pliku tablicą buf, no i tu mam problem , albo czegoś nie rozumiem, albo write zamienia te liczby na znaki bo w pliku mam krzaczki jakies,a chciałbym mieć w tym pliku liczby najlepiej po spacji. Proszę kogoś o jakąś podpowiedź :)

xis

  • Gość
[C++] Funkcja write() - problem z wpisywaniem liczb do pliku
« Odpowiedź #1 dnia: 2007-01-05, 08:05:34 »
Jeśli chcesz zapisać to do pliku _tekstowego_ to sam typ pliku już podpowiada konwersję ;)

Tak właśnie jest, że plik tekstowy składa się wyłącznie z bajtów (w C i C++ ich odpowiednikiem jest typ char), więc możesz wykonać najpierw:

sprintf(buf, "%d %d %d", liczba1, liczba2, liczba3 );

i dopiero wtedy wpisywać bufor.