0

これは私のコードです

#include <stdio.h> 
int main() 
{ 
FILE *file; 
file = fopen("file.txt","a+"); 

fprintf(file,"%s","test :)");
fclose(file); 

return 0; 
}

txt ファイルのヘルプが作成されない理由がわかりません

4

3 に答える 3

1

プログラムのエラーをチェックする必要があります。fopen()さまざまな理由で失敗する可能性があります。errnoを検査するか、 perror / strerrorを使用して有用なメッセージを出力できます。

#include <stdio.h> 
#include <stdlib.h>

int main() 
{ 
    FILE *file = fopen("file.txt","a+"); 
    if (file == NULL) {
        perror("Failed to open the file");
        exit(-1);
    }

    fprintf(file,"%s","test :)");
    fclose(file); 

    return 0; 
}

たとえば、ファイルが現在のディレクトリに存在するが、別のユーザーが所有している場合:

[8:40am][wlynch@watermelon /tmp] ./foo
Failed to open the file: Permission denied
于 2013-10-31T13:41:03.247 に答える
1

perror を実行して、ファイルへの書き込み権限があるかどうかを確認してください。それがほとんどの場合の問題です。これを fopen の後に追加します

if (!file)
perror("fopen");
于 2013-10-31T13:39:38.140 に答える