我在閱讀文本文件,並且知道文本文件有多少行。我使用fgets來讀取一行,然後strtok將它分解成大塊。我正在嘗試閱讀該行的第一個字符,並在「P」或「A」時採取行動。我假設我可以將行視爲字符數組。對不起,如果這個問題是超級基礎。我可以告訴形式警告我做錯了什麼。有沒有更好的方法來做下面的事情?從字符串中製作字符
char line[1024];
while (i < LINE_MAX)
{
fgets(line, sizeof (line), fp);
strtok(line," ");
printf("%c",line[0]);
if (line[0] == "P")
printf("the letter is P\n");
if (line[0] == "A")
printf("the letter is A");
}
thread.c:在函數 '主': thread.c:96:15:警告:[默認啓用]指針和整數之間的比較 thread.c:96:15:警告:比較字符串文字導致未指定的行爲[-Waddress] thread.c:98:15:警告:指針和整數之間的比較[默認情況下啓用] thread.c:98:15:warning:與字符串文字的比較導致未指定行爲[-Waddress] 編譯成功完成。
字符文字(例如''P'')應該被單引號括起來,而不是雙引號。 –
或者(但不太優化),如果比較字符串是他所追求的,OP可以使用'strncmp(line,「P」,1)「。 – Diti
感謝您的快速響應! – user3287789