我想用C語言將一些數據寫入二進制文件。顯然,函數fwrite似乎不能正常工作。這是代碼:爲什麼fwrite對C中的二進制文件不起作用?
typedef struct tw {
char name[40];
char tweet[150];
int rt, like;
} Twitter;
void createFile() {
FILE *bin;
Twitter user;
if (bin = fopen("test.bin", "wb") == NULL) {
printf("Error");
return 0;
}
strcpy(user.name, "name");
strcpy(user.tweet, "this is a tweet");
user.rt=5;
user.like=10;
fwrite(&user, sizeof(Twitter), 1, bin);
fclose(bin);
}
fwrite函數沒有寫入任何東西到文件中,我在代碼中查找錯誤,但我找不到任何。另外,當我試圖使用該函數寫入一個txt文件時,它正常工作。
'返回0'應該是'return',因爲它是一個'void'功能。 – Barmar 2014-11-08 19:30:14
並閱讀你的編譯器警告。他們指出你的代碼中的所有問題。 – Barmar 2014-11-08 19:30:33