C - 如何从文件中读取某些行? (不是所有行或整个文件,只是某些行)

时间:2014-08-12 16:38:53

标签: c file

我尝试寻找类似的问题,可以找到我的问题的答案,但我似乎无法找到它。有人可以告诉我有没有办法从.txt文件中读取某些行。例如,我想从文本文件中读取2,3,5行。

文本文件示例:

1255466889436     //Line 1 - I want to read this line
5489784642165     //Line 2
4984651425165     //Line 3 - I want to read this line
4968164816514     //Line 4
4161654168468     //Line 5 - I want to read this line

如果somone可以显示示例代码,那将是非常好的,因为我现在真的很难过。

3 个答案:

答案 0 :(得分:2)

阅读所有行,丢弃您不需要的行。

您可以搜索文件中的任何偏移量,但哪条线偏移5000?这取决于前5000个字符中有多少个换行符。除非你检查所有角色,否则你不知道。

答案 1 :(得分:0)

您可以阅读所有行,只需忽略那些您不需要的行。请记住,您从文件的开头开始,并继续阅读这些行,直到找到所需的行或直到文件末尾。

答案 2 :(得分:0)

试试这个: 通过检查eof()的值来开始从第一个字符读取文件,直到文件结尾,

到达文件结尾(feof(fp)== 0),

当curent字节位置为第0行或第一行的第一个字节时,我们正在读取fgets()的第一行,直到达到newline characte。达到\ n后,fgets()将其功能放在首位,ead内容将存储在数据数组中。此aray中的字符串长度是第一行中的字符/字节总数。因此,比这更多1个字节,现在当前的字节位置成为下一行的起始字节。