文件输入读数用C表示

时间:2017-10-31 15:19:35

标签: c

我是一名学习C编程的学生,我正在学习文件输入。下面是代码。我有要读取的数据文本文件。我对这里status的含义感到困惑,(status != 0) 0的含义和return -1的使用情况。

int main()
{
    FILE *inp;
    int status;
    int a, b, c, d, e;

    status = fopen_s(&inp, "data.txt", "r");

    if (status != 0)
    {
        printf("Error");
        return -1;
    }

    status = fscanf_s(inp, "%d %d %d %d %d", &a, &b, &c, &d, &e);`  

    while (status != EOF)
    {
        printf("%d %d %d %d %d\n", a, b, c, d, e);`
        status = fscanf_s(inp, "%d %d %d %d %d", &a, &b, &c, &d, &e);
    }

    return 0;
}

1 个答案:

答案 0 :(得分:0)

  

我很困惑这里的地位是什么意思

这只是一个变量,可以保留fopen_s()及更晚fscanf_s()的返回值。

  

(status != 0) 0

含义的条件

A manual有助于:fopen_s()返回错误代码,或0成功。这只是检查打开文件是否有错误。

  

并使用return -1.

main()返回的任何内容都将作为退出代码传递到您的操作系统。 0以外的任何值都表示存在错误。另请参阅exit() - 使用值调用exit与从main()返回此值具有相同的效果。

附注:只需使用标准功能(不带_s后缀)。其中一些_s函数是特定于Microsoft的,其他函数在Microsoft编译器上与标准指定的稍有不同 - 只是让您自己烦恼。仅使用fopen()fscanf()(注意不同的签名!)会使您的程序立即可移植。