搜尋

首頁  >  問答  >  主體

c++ - C语言中strstr()函数的使用问题

#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,这是为什么呢?

阿神阿神2808 天前1014

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 11:14:27

    fgets() 從流中最多讀入一個小於 size 的字符並將它們存儲到 s 指向的緩衝區中。 讀取在 EOF 或換行符後停止。 如果讀取換行符,會將其存儲到緩衝區。 終止空字節 (' ') 存儲在緩衝區中最後一個字符之後。

    — 又: 最有效的調試工具仍然是仔細的思考,加上明智地放置打印語句。 — Brian W. Kernighan,在《Unix for Beginners》一文中 (1979) src

    回覆
    0
  • 取消回覆