Nowe posty

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

Offline tomek

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 1
    • Zobacz profil
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ź :)

Offline xis

  • Global Moderator
  • Guru
  • *****
  • Wiadomości: 1049
    • Zobacz profil
[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.
Everything should be made as simple as possible, but not simpler
-- Albert Einstein