2017-05-08 86 views
-1

我开始学习C,我正在编写一个代码,用户需要在csv文件中输入他想要搜索的字符串,如果找到该字符串,它将打印出该字符串的行号。 ,我不完全知道什么是做如何在csv文件中搜索特定的字符串,并知道在哪一行找到该字符串?

+4

请提供一个最小的尝试。你可能想使用fopen来打开文件,fgets来获取字符串,计数行和搜索行。请参阅:http://stackoverflow.com/questions/3501338/c-read-file-line-by-line和:http://stackoverflow.com/questions/9206091/going-through-a-text-file-line -by-line-in-c – ChuckCottrill

+0

请首先在此提供一些代码,其中显示了解决此问题的尝试。 –

+0

这听起来像'在CSV文件上运行'grep -n''。如果这不合适,你需要考虑如何做到这一点。可能打开文件,读取行,保持计数,搜索每行(并在最后关闭文件)。听起来很常规 - 'fopen()','fgets()','strstr()','printf()','fclose()'。 [你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) - 另见MCVE([MCVE])。 –

回答

0

您可以使用getline()直到它返回-1(EOF),保持对你有多少次迭代完成反逐行读取的最佳途径。

对于您阅读的每一行,可以使用strstr()来检查字符串是否存在。如果是,只需打印计数器(对应于该行)。

相关问题