我正在尝试一些代码,它只使用主要功能。所以我相信我的系统上缺少string.h。如何检查我的Linux系统上的C库和C库。如果库不存在,我将键入什么命令来下载它们。
由于
这是代码:
#include <stdio.h>
#include <string.h>
char tracks[] [80] =
{
"I left my heart in Harvard Med School",
"Newark, Newark - a wonderful town",
"Dancing with a Dork",
"From here to maternity",
"The girl from Iwo Jima"
};
void find_track(char search_for[])
{
int i;
for (i = 0; i < 5; i++)
{
if (strstr(tracks[i], search_for))
printf("Track %i: '%s'\n", i, tracks[i]);
}
}
int main()
{
char search_for[80];
printf("Search for: ");
fgets(search_for, 80, stdin);
find_track(search_for);
return 0;
}
并没有抱怨编译器。它询问:搜索:我输入字符串按回车键,它退出程序。
vincent@hp500iq-it:~/c/code/ch2$ gcc strstr.c -o strstr && ./strstr
Search for: town
vincent@hp500iq-it:~/c/code/ch2$ gcc strstr.c -o strstr && ./strstr
Search for: Dancing with a Dork
vincent@hp500iq-it:~/c/code/ch2$
答案 0 :(得分:3)
首先,您输入town
,然后按Enter键,输入将作为输入的一部分被捕获。
然后,当您使用strstr
函数时,它会尝试在字符串Newark, Newark - a wonderful town
中找到town[enter]
。当然,这不匹配。
当您输入Dancing with a Dork
并按Enter键时,输入将作为输入的一部分被捕获。
然后,当您使用strstr
函数时,它会尝试在字符串Dancing with a Dork[enter]
中找到Dancing with a Dork
。当然,这不匹配。