c++ - C语言中strstr()函数的使用问题
阿神
阿神 2017-04-17 11:12:27
0
1
996
#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,这是为什么呢?

阿神
阿神

闭关修行中......

Antworte allen(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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage