View Full Version : Come scrivere interi su file?
Algeroth
01-12-2005, 16:35
Ciao a tutti,
sto cercando di scrivere in linguaggio c sulla mandrake 10.1 un programma.Il problema e' che usando la system call write() posso scrivere soltanto caratteri,io invece devo scrivere degli interi sul file.Conoscete qualche system call o funzione per farlo?
grazie in anticipo :)
ilsensine
01-12-2005, 16:39
Con la write non scrivi caratteri, scrivi byte. Se devi creare un file di testo, faresti bene a convertire l'intero in stringa e scriverlo; altrimenti se devi creare un file binario è sufficiente qualcosa tipo:
int val = 12345;
write(fd, &val, sizeof(val));
Algeroth
01-12-2005, 16:43
Ti ringrazio tantissimo per la risposta ma come faccio a convertire l'intero in stringa? :D
ilsensine
01-12-2005, 16:50
char buf[16];
int val = 12345;
sprintf(buf, "%d", val);
write(fd, buf, strlen(buf));
Ti ringrazio tantissimo per la risposta ma come faccio a convertire l'intero in stringa? :D
Con la sprintf della stdio:
#include <stdio.h>
int n=1234;
char buffer[16];
sprintf (buffer, "%d", n);
ilsensine
01-12-2005, 16:52
anzi, meglio:
int val = 12345;
dprintf(fd, "%d", val);
nb dprintf è una estensione GNU, non è standard.
char buf[16];
....
Azz... sono stato battuto sul tempo :D
Algeroth
01-12-2005, 16:58
Grande! ora funziona tutto! Ti ringrazio di cuore :) :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.