簡體   English   中英

當我嘗試讀取文件時,為什么該文件會更改為 null?

[英]Why does the file change to null when I try to read it?

我正在嘗試讀取項目文件夾中存在的文件。 但是當我想在其中獲取字符串時,文件的數據更改為 (null) 。 我嘗試了“w”和“r”,但都沒有奏效。 這是我的代碼:

    FILE* f;
    if (!(f =fopen("a.txt", "r"))) {printf("Could not open file\n"); return;}
    char s[10000];
    fgets(s, 10000, f);
    printf("%s", s);

輸出:

(null)
  • 注意:打開文件沒有錯誤

這是打開后的文件

編輯:這是我的代碼的完整版本:

    FILE* channelfile;
    char filename[100] , name[]="hi";
    sprintf(filename, "./Resources/Channels/%s.cyko", name);

    if (!(channelfile =fopen("hi.cyko", "r"))) {printf("Could not open file\n"); return;}
    char s[10000];
    fgets(s, 10000, channelfile);
    printf("%s", s);

cyko是我的文件類型(不通用)

文件目的地 原始文本文件

該文件包含文本(null) ,如您的屏幕轉儲所示。

因此,打印文件的內容會打印(null)

QED。

由於有好幾個人關注這個問題,我現在將結果通知他們:

在向 OP 解釋了如何使用調試器后,他發現實際問題不在他發布的代碼中,而是在他項目的另一部分。

他假設他發布的代碼是導致問題的原因,因為他只是在更改了他發布的代碼后才遇到問題。 然而,似乎這個變化只是觸發了錯誤; 錯誤本身在程序的另一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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