1

这个简单的程序,在 fgets() 中给我带来了麻烦,返回 EOF,这是 fgets() 的错误值我不明白问题出在哪里

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

FILE* openFile(const char* path)
{
    FILE* file;
    file = fopen(path, "r");
    if(file == NULL)
    {
        perror(path);
        exit(EXIT_FAILURE);
    }
    return file;
}


int main()
{
    FILE* file;
    char stringVector[6] = "hello";
    file = openFile("/home/user/workspace/fputs/src/testo.txt");

    if(fputs(&stringVector[0], file) == EOF)
    {
        printf("error in fputs");
        fclose(file);
        exit(EXIT_FAILURE);
    }

    fclose(file);
    return 0;
}
4

3 回答 3

4

您正在打开文件进行读取,但试图向其中写入数据?那没有意义。

于 2013-02-07T15:48:17.757 回答
1

在'openFile()'中,你用'r'打开文件,但'fputs'想要'w'文件。

于 2013-02-07T15:51:08.170 回答
1

嗯:&stringVector[0] ?

这与做的完全一样:a = 1 - 1,你为什么不做a = 0?

-> 字符串向量 = &字符串向量[0]

于 2013-02-07T15:53:59.807 回答