我試圖讀取一個文件,並從右側分開等號的左手側,並查看左手側是否爲「HOME」。它發現第一個標記是「HOME」,但沒有說明它是否等於「HOME」。基本上寫在文件中的行是「HOME = /cs/nsf
」。使用strtok令牌識別()
怎麼回事?
while (fgets(buffer,80,file)) //while end of file
{
char *token = strtok(buffer,"=");
printf("first token: %s\n",token); //this correctly prints "HOME"
if (strcmp(token,"HOME") == 0)
{
printf("it doesn't get here");
token = strtok(NULL,"\n"); //this should return "/cs/nsf" but it doesn't;
if (token == NULL || strcmp(token," ") == 0)
{
fprintf(stderr,"HOME isn't initialised\n")
}
}
}
向我們展示文件的內容。 –
你確定它沒有打印「HOME」嗎? – pstrjds
@ RichardJ.RossIII不必要的。 – 2012-10-24 18:13:19