[問題] 字串中搜尋另一字串的問題

看板C_and_CPP (C/C++)作者 (搖勒)時間13年前 (2012/11/14 15:25), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
#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 %d: '%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; } 不曉得哪裡出了問題?? 不論輸入什麼關鍵字,strstr()的回傳值都是0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.194.167

11/14 15:34, , 1F
fgets把'\n'也吃進去了
11/14 15:34, 1F

11/14 15:48, , 2F
標題 ...
11/14 15:48, 2F

11/14 21:26, , 3F
改成 gets(search_for); 就可以了 :)
11/14 21:26, 3F

11/14 21:35, , 4F
不要用 gets,把 '\n' 去掉就好
11/14 21:35, 4F
文章代碼(AID): #1GeqTn1K (C_and_CPP)
文章代碼(AID): #1GeqTn1K (C_and_CPP)