我是C新手,正在編寫一個程序,用於檢查用戶輸入的單詞是否是合法單詞。我已經搜索了stackoverflow的建議,但很多都是針對特定情況的非常具體。請在我惹火之前,我知道這個語法不正確,但尋找一些關於如何解決它的建議。我的主要問題是如何告訴程序檢查下一行(在「\ 0」之後)。也許while
條件不是告訴C檢查直到沒有更多行存在的最好方式。在下面的代碼中,我有用於測試的「userword」的樣本比較字符串,但最終這將根據用戶輸入而變化。在用戶文本中檢索/比較文件中的字符串
#include <stdio.h>
#include <string.h>
int main (void)
{
FILE *fp;
fp = fopen("/usr/share/dict/words", "r");
char line[50];
while(fgets(line,50,fp) != NULL)
{
if(!strcpy(line,"userword"))
{
printf("Word exists\n");
return 0;
}
}
printf("Word not found, try again.\n");
return 0;
}
直覺好像我需要嵌套的「而」循環後,其檢查下一個字符串的文件中的另一環找到每個「\ 0」。我大概可以想出如何尋找那個結局角色,但不知道我如何去到下一行。還是C查看這個文件作爲一個連續的字符串,所以我只需要檢查每個「\ 0」之間的字符? – Andy
'strcpy()'?你的意思是'strcmp()'? – jfly
@jfly呃是的。我知道我不應該這樣做102發燒。非常感謝兄弟 – Andy