ファイルを読み込んで、等号の左側を右側から分離し、左側が「HOME」かどうかを確認しようとしています。最初のトークンが「HOME」であることがわかりますが、それが「HOME」に等しいかどうかはわかりません。基本的にファイルに書かれている行は「HOME = /cs/nsf
」です。
何がうまくいかないのですか?
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")
}
}
}