簡體   English   中英

為什么fwrite對於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM