strstr()不在C上工作
我有下面的代码。问题是,当我运行它时,它不会显示我所提示的搜索结果;尝试strstr()不在C上工作,c,linux,coredump,strstr,C,Linux,Coredump,Strstr,我有下面的代码。问题是,当我运行它时,它不会显示我所提示的搜索结果;尝试printf(“%s”),strstrstr(曲目[i],搜索])inside for会返回null,但对曲目[i]和搜索[u]执行相同操作没有问题。请帮忙 #include <stdio.h> #include <string.h> char tracks[][80]={ "I left my heart in Harvard Med Scholl", "Newark, Newark -
printf(“%s”),strstrstr(曲目[i],搜索])
inside for会返回null,但对曲目[i]和搜索[u]执行相同操作没有问题。请帮忙
#include <stdio.h>
#include <string.h>
char tracks[][80]={
"I left my heart in Harvard Med Scholl",
"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;
}
#包括
#包括
字符轨道[][80]={
“我把我的心留在了哈佛医学院”,
“纽瓦克,纽瓦克-一个美妙的小镇”,
“和傻瓜跳舞”,
“从这里到产妇”,
“硫磺岛的女孩”,
};
void find_track(char search_for[]){
int i;
对于(i=0;i,正如我们在文档中所看到的,如果在行尾有一个换行符,它将包含在生成的字符串中:
从给定的文件流读取最多count-1个字符,并将它们存储在str中。生成的字符串始终以NULL结尾。如果出现文件结尾或找到换行符,则解析将停止,在这种情况下,str将包含该换行符
因此,在这种情况下,如果我们输入“Newark”
,那么我们有:
search_for[] = {'N', 'e', 'w', 'a', 'r', 'k', '\n', '\0', ...};
您将需要删除该额外的换行符。正如我们在文档中所看到的,如果该行末尾有一个换行符,它将包含在生成的字符串中:
从给定的文件流读取最多count-1个字符,并将它们存储在str中。生成的字符串始终以NULL结尾。如果出现文件结尾或找到换行符,则解析将停止,在这种情况下,str将包含该换行符
因此,在这种情况下,如果我们输入“Newark”
,那么我们有:
search_for[] = {'N', 'e', 'w', 'a', 'r', 'k', '\n', '\0', ...};
您将要删除额外的换行符。谢谢!已解决包括strtok(搜索“\n”);
谢谢!已解决包括strtok(搜索“\n”);