Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: [C++] Funkcja write() - problem z wpisywaniem liczb do pliku  (Przeczytany 3314 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.