我是一名学习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;
}
答案 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()
(注意不同的签名!)会使您的程序立即可移植。