2017-05-08 57 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()來檢查字符串是否存在。如果是,只需打印計數器(對應於該行)。

相關問題