c++ - C语言中strstr()函数的使用问题
阿神
阿神 2017-04-17 11:12:27
0
1
962
#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 two 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+1,tracks[i]);      
    }
}
int main()
{
    char search_for[80];
    printf("Search for: ");
    fgets(search_for,80,stdin);
    find_track(search_for);
    return 0;
}

不管我输入什么字符串,strstr()函数返回的都是0,这是为什么呢?

阿神
阿神

闭关修行中......

reply all(1)
大家讲道理

fgets() reads in at most one less than size characters from stream and stores them into the buffer pointed to by s. Reading stops after an EOF or a newline. If a newline is read, it is stored into the buffer. A terminating null byte ('\0') is stored after the last character in the buffer.

man fgets

又:

The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.

— Brian W. Kernighan, in the paper Unix for Beginners (1979) src

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!