我试图检查从 stdin 读取的行是否以“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");
我不在乎“login:”之后会发生什么,我只是想确保这就是命令的给出方式。我究竟做错了什么?
strcmp
如果两个字符串完全相同,则返回 0 以完成您想要做的事情
Use :
strstr(s2 , "login:")
(它返回NULL
如果该字符串不存在于s2
)
or
strncmp(s2 , "login:" , 6)
这将比较前 6 个字符(如果s2
以“login:”开头,它将返回 0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)