Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - fwrite
Forum - C/C++ - fwrite

Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Segnala al moderatore
Postato alle 17:53
Mercoledì, 08/12/2010
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.         int a = 5;
  6.         FILE *stream;
  7.         stream = fopen("data", "w");
  8.         fwrite(&a, sizeof(int), 1, stream);
  9.         return 0;
  10. }



Perché nel file data non mi appare magicamente 5 :-?

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
2
Down
V
Segnala al moderatore
Postato alle 18:57
Mercoledì, 08/12/2010
Testo quotato

Postato originariamente da Pitagora:

Non voglio usare altre funzioni. Voglio usare solo la fwrite  



l'erba voglio non sta neanche nel giardino del rè, ma se proprio non vuoi spremerti le meningi:

Codice sorgente - presumibilmente C/C++

  1. char str[2];
  2. c[0] = '5';
  3. c[1] = NULL;
  4.  
  5. fwrite(str, sizeof(char), 2, stream);



soprattutto se sei stato te il simpatico dei -1, ti assicuro che non è così che si premiano le persone che sono qui a investire il proprio tempo aiutandoti.

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 17:56
Mercoledì, 08/12/2010

perchè non chiami fclose(stream)

PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 18:01
Mercoledì, 08/12/2010
stesso effetto! :asd:

Codice sorgente - presumibilmente Plain Text

  1. pitagora@pitagora:~/Scrivania$ gcc ok.c -o ok
  2. pitagora@pitagora:~/Scrivania$ ./ok
  3. pitagora@pitagora:~/Scrivania$ cat data
  4. pitagora@pitagora:~/Scrivania$


Ultima modifica effettuata da Pitagora il 08/12/2010 alle 18:01
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 18:33
Mercoledì, 08/12/2010
Testo quotato

Postato originariamente da Pitagora:

stesso effetto! :asd:

Codice sorgente - presumibilmente Plain Text

  1. pitagora@pitagora:~/Scrivania$ gcc ok.c -o ok
  2. pitagora@pitagora:~/Scrivania$ ./ok
  3. pitagora@pitagora:~/Scrivania$ cat data
  4. pitagora@pitagora:~/Scrivania$




per stampare 5, cioè il carattere '5' non il carattere che ha codice ascii 5 devi usare putc('5', stream)

PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 18:46
Mercoledì, 08/12/2010
Non voglio usare altre funzioni. Voglio usare solo la fwrite

PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 19:44
Mercoledì, 08/12/2010
Ti giuro che di quei -1 non ne so niente anche se vedo alle tue risposte 0 tranne una con +1. Ti ringrazio. Ultima domanda devo per forza assumere che 5 sia un char o posso anche con int?

Ultima modifica effettuata da Pitagora il 08/12/2010 alle 20:03
PM