我想用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