我正在尝试检查从stdin读取的行是否以“login:”开头,但strcmp似乎不起作用。
我想确认输入的第一行是否为“login:”,但是strcmp函数好像无法正常工作。
我不在意"login:"后面的内容,我只想确认这个命令是这样使用的。我做错了什么?
我想确认输入的第一行是否为“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
用于精确匹配。我建议浏览C字符串库,看看是否有其他函数可用于此任务... - Oliver Charlesworth