|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2005
Messaggi: 70
|
Come scrivere interi su file?
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 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
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));
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2005
Messaggi: 70
|
Ti ringrazio tantissimo per la risposta ma come faccio a convertire l'intero in stringa?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
char buf[16];
int val = 12345; sprintf(buf, "%d", val); write(fd, buf, strlen(buf));
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
#include <stdio.h> int n=1234; char buffer[16]; sprintf (buffer, "%d", n);
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
anzi, meglio:
int val = 12345; dprintf(fd, "%d", val); nb dprintf è una estensione GNU, non è standard.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 01-12-2005 alle 20:25. |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Nov 2005
Messaggi: 70
|
Grande! ora funziona tutto! Ti ringrazio di cuore
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:13.



















