【发布时间】:2013-10-29 01:01:31
【问题描述】:
我正在尝试检查从标准输入读取的行是否以“login:”开头,但 strcmp 似乎不起作用。
char s1[20], s2[20];
fgets(s1, 20, stdin);
strncpy(s2,s1,6);
strcmp(s2, "login:");
if( strcmp(s2, "login:") == 0)
printf("s2 = \"login:\"\n");
else
printf("s2 != \"login:\"\n");
我不在乎“登录:”之后会发生什么,我只是想确保命令是这样给出的。我做错了什么?
【问题讨论】:
-
strcmp用于精确匹配。我建议仔细阅读C string library,看看是否有其他功能可以用于此任务... -
我将前 6 个字符(应该是“login:”)复制到另一个字符串中,该字符串将与字符串“login:”进行比较,所以我要进行完全匹配。
-
哦,这是一个公平的观点;我没有注意到。