繁体   English   中英

C中的文件输入读取

[英]File input reading in 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;
}

我对这里的状态的含义感到困惑

它只是一个保持fopen_s()和后来的fscanf_s()返回值的变量。

的条件,其中(status != 0)是什么意思0

手册有帮助: fopen_s()返回错误代码,成功时返回0 这只是检查打开文件是否有错误。

并使用return -1.

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


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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM