使用C中的文件描述符对文件的行进行计数

时间:2019-01-17 14:58:35

标签: c file newline file-descriptor

我正在尝试计算通过文件描述符读取的文件的行数,但是我不知道我在做什么错,因为它不会出错。

这是代码:

long long unsigned

该软件从不输入“ if”,我已经测试了很多我认为可以起作用的变体,但没有一个起作用(对我来说这才更有意义)。

任何帮助都将受到高度重视。

非常感谢您!

我在下面添加了完整的代码:

n

此代码假定文件是.txt,并且每行的末尾都有一个“换行符”,并且它正在开发中。

再次感谢。

1 个答案:

答案 0 :(得分:2)

您不会为miniBuffer指针数组char分配任何内存。这并不是真正的问题-问题在于,它首先不应该是char指针的数组。您只需要将其作为char数组即可,如下所示。

char miniBuffer[1];

然后另一个更改是检查数组的单个元素是否为\n字符。

if (miniBuffer[0] == '\n')

您可能会发现,通过增加数组的大小并使用诸如strchr之类的函数来查找字符串中的任何\n,来读取较大的块会更有效。您将需要存储返回的金额read,以便可以NUL正确地终止字符串。