作者 主題: 如何找出strings 1中是否有出現strings 2的單詞  (閱讀 3287 次)

0 會員 與 1 訪客 正在閱讀本文。

sta

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
如何找出strings 1中是否有出現strings 2的單詞

例如

s1[]="I like apple, do you like it";
s2[]="I like apple too";

結果
======有出現========
I
like<--------------有二個like,都只顯示一次
apple


======沒有出現========
do
you
it


elleryq

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 908
  • 性別: 男
    • 檢視個人資料
    • Thinking more...
你用 strstr 嗎??

char s[]="This is a test."
char *p = s;
do {
  p=strstr( p, "is" );
  if( !p ) break;
  printf("%d\n", p-s );
  p++;
}while( 1 );
Plan your work, then work your plan.
我的首頁:http://blog.elleryq.idv.tw
351899by http://counter.li.org

sta

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
你用 strstr 嗎??

char s[]="This is a test."
char *p = s;
do {
  p=strstr( p, "is" );
  if( !p ) break;
  printf("%d\n", p-s );
  p++;
}while( 1 );


我原本是先把2個string拆成單詞
因為這2句話是在不同的文件, 1.txt 2.txt
再用while loop 比較每個單詞 ---strcmp
不過效果並不是我想要的

可以幫我看 一下
問題出在那裡嗎?
因為我想錯了
所以delete code
« 上次編輯: 2009-12-06 21:12 由 sta »

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1378
    • 檢視個人資料
    • http://darkranger.no-ip.org
strtok() + strstr() 試過沒?

sta

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
strtok() + strstr() 試過沒?
首先多謝你的回覆

其實我已經試過用strstr()
雖然可以得到我想要的效果

不過我想知道我的方法有什麼地方想錯了.
因為只有知道自己錯在什麼地方
才可以避免犯同一個錯誤

可能我比較麻煩

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1378
    • 檢視個人資料
    • http://darkranger.no-ip.org
不過我想知道我的方法有什麼地方想錯了.
因為只有知道自己錯在什麼地方
才可以避免犯同一個錯誤

可能我比較麻煩
我沒有細看您的程式碼
但您只要稍加測試一下就知道 strcmp 不會是您想要的東西