我從一個文件中讀取一個字符串,它由兩個單詞組成,我用令牌分割並希望它們與我的輸入相比較。第一次比較正常,但不是第二次。打印語句打印輸出相同的東西,但檢查失敗。我猜這是由於特殊的行尾字符。C比較令牌和字符串
if(strcmp(argv[2], token[0]) == 0){
printf("Input1 match\n");
printf("%s\n", argv[3]);
printf("%s\n", token[1]);
if(strcmp(argv[3], token[1]) == 0)
{
printf("Input2 match\n");
}
}
編輯:有是我的第二個令牌的\ n字符,並使用此代碼來修剪字符串修復
void strip(char *s) {
char *p2 = s;
while(*s != '\0') {
if(*s != '\t' && *s != '\n') {
*p2++ = *s++;
} else {
++s;
}
}
*p2 = '\0';
}
如果您發佈代碼化代碼,您可能會得到更好的答案。這可能是問題所在。 – 2013-04-29 01:05:18