我想使用C语言将一些数据写入二进制文件。显然,函数fwrite似乎无法正常工作。这是代码:
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文件时,它可以正常工作。
你需要改变
if (bin = fopen("test.bin", "wb") == NULL)
到
if ((bin = fopen("test.bin", "wb")) == NULL)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句