gpt4 book ai didi

C - 关于 EOF 功能

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:55 25 4
gpt4 key购买 nike

我试图弄乱 C 中的文件输入,主要是矩阵格式的整数值。例如,如果我有一个文件...

4 5 7 3
6 8 5 2
5 7 3 4
9 4 8 7

我对 EOF 命令的作用感到困惑。我知道我可以用它来检查文件结尾,但是如果我想测试一行的结尾怎么办?如果我想打印从右到左的对角线(所以 3,5,7,9 )怎么办?我知道我必须逐行进行,设置一个在每次迭代时计数的计数器以查找行的长度,打印出该行的最后一个值,然后将指针减 1 并转到下一行。但是我该怎么做呢?例如,EOF 仅适用于整个文件,还是有一个 C 命令可以更直接地定义行长度等。

最佳答案

一个典型的读取多行的 C 程序看起来像这样:

char line[MAX_LINE_SIZE];
while (fgets(line, sizeof(line), inputFile) != NULL)
{
/* Do something with line */
}

“Do something with line”的部分是您应该做某事的地方。在您的情况下要做的一件事是解析该行,并获取其中的一个数字。哪一个取决于行号(你必须自己跟踪),所以第一行的第一个数字,第二行的第二个数字,等等。然后当你拥有所有数字时(即当循环结束)你可以用数据做你想做的事。

循环结束后,可以使用feofferror查看它是否由于文件结尾或错误而结束。

关于C - 关于 EOF 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22897965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com