I've been trying to write an integer to a file (open mode is w).
fprintf wrote it correctly but fwrite wrote gibberish:
int length;
char * word = "word";
counter = strlen(word);
fwrite(&length, sizeof(int), 1, file);
fwrite(word, sizeof(char), length, file);
and the result in the file is:
word
but if I use fprintf instead, like this:
int length;
char * word = "word";
counter = strlen(firstWord);
fprintf(file, "%d", counter);
fwrite(word, sizeof(char), length, file);
I get this result in the file:
4word
can anyone tell what I did wrong?
thanks!
update: I would eventually like to change the writing to binary (I will open the file in wb mode), will there be a difference in my implementation?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…