![](/img/trans.png)
[英]Why does fseek work when you are writing (fwrite) to a binary file, but when reading (fread) it doesn't? - C
[英]Why fwrite doesn't work for binary files in C?
我想使用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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.