C - fprintf没有写入文件

时间:2015-08-09 19:36:35

标签: c unix clang freebsd

C - fprintf没有写入文件,不知道为什么?

#include <stdio.h>
#include <stdlib.h>
int main(void){
    FILE* pfile=fopen("/home/user-vlad/Programming/C-other/meme.txt","r");
    if(pfile==NULL){
        printf("ERROR: Stream is equal to NULL\n");
        exit(1);
    }
    fprintf(pfile,"Hello");
    fclose(pfile);
    return 0;
}

编译器:clang,OS:FreeBSD

1 个答案:

答案 0 :(得分:2)

假设文件打开可能是因为您使用参数fopen()调用"r",这意味着读取。

要写,您可以使用参数"w"

fopen("/home/user-vlad/Programming/C-other/meme.txt","w");

或者文件是否已存在"r+"

fopen("/home/user-vlad/Programming/C-other/meme.txt","r+");

或者,如果该文件已存在且您要追加,则可以使用"a"

fopen("/home/user-vlad/Programming/C-other/meme.txt","a");

您可以在fopen() here上了解详情。