gpt4 book ai didi

C语言计算文件行数

转载 作者:行者123 更新时间:2023-12-01 20:20:04 27 4
gpt4 key购买 nike

我正在编写一个函数来读取给定行中的行数。某些文本文件可能不以换行符结尾。

int line_count(const char *filename)
{
int ch = 0;
int count = 0;
FILE *fileHandle;

if ((fileHandle = fopen(filename, "r")) == NULL) {
return -1;
}

do {
ch = fgetc(fileHandle);
if ( ch == '\n')
count++;
} while (ch != EOF);

fclose(fileHandle);

return count;
}

现在该函数无法正确计算行数,但我无法弄清楚问题出在哪里。我将非常感谢您的帮助。

最佳答案

这是另一个选项(除了跟踪 EOF 之前的最后一个字符)。

int ch;
int charsOnCurrentLine = 0;

while ((ch = fgetc(fileHandle)) != EOF) {
if (ch == '\n') {
count++;
charsOnCurrentLine = 0;
} else {
charsOnCurrentLine++;
}
}
if (charsOnCurrentLine > 0) {
count++;
}

关于C语言计算文件行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29751837/

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