全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6626
推到 Plurk!
推到 Facebook!

請問strncmp和strcmp分別

尚未結案
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-05 17:45:49 IP:218.162.xxx.xxx 未訂閱
小弟現在要開2個檔案 然後比較檔案內容 例如:檔案一內寫著1234 則檔案二內有1234的字串則通通被我找出來 找出來後我要做插入取代刪除(這部分已經做了出來) 小弟要問的是之前我是用自己的寫法做了出來 但現在想試著用現成的語法來寫 請高手指教一下 感激不盡
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-05 17:58:17 IP:221.169.xxx.xxx 未訂閱
strcmp 比較整個字串。 strncmp 只比較你所指定的數字。 比方說 "abcde1234", "abcd" 這兩個如果用 strcmp 出來是不同的。 可是如果用 strncmp 比較只說要比4個字。那它們會是相同的。
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-05 18:06:48 IP:218.162.xxx.xxx 未訂閱
我想再問的是 今天如果我判斷了 字串一1234和字串二1234 他們是一樣的 鈉我要如何秀出來 他們是一樣的呢? strcmp(word,set]);
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-05 18:10:01 IP:61.66.xxx.xxx 未訂閱
Miki-lion你好    strcmp是比整個字串,strncmp是比到你指定的長度 用法及比較方式如下      less than s2        < 0 the same as s2        == 0 greater than s2        > 0
//---------------------------------------------------------------------------    #pragma hdrstop    //---------------------------------------------------------------------------
#include 
#include 
#include     #pragma argsused
int main(int argc, char* argv[])
{
   char *buf1 = "bbbaaa", *buf2 = "bbbccc";
   int ptr;       ptr = strcmp(buf2,buf1);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");
   else if ( ptr == 0 )
      printf("buffer 2 is same as buffer 1\n");
   else
      printf("buffer 2 is less than buffer 1\n");       ptr = strncmp(buf2,buf1,2);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");
   else if ( ptr == 0 )
      printf("buffer 2 is same as buffer 1\n");
   else
      printf("buffer 2 is less than buffer 1\n");       ptr = strncmp(buf2,buf1,3);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");
   else if ( ptr == 0 )
      printf("buffer 2 is same as buffer 1\n");
   else
      printf("buffer 2 is less than buffer 1\n");       ptr = strncmp(buf2,buf1,4);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");
   else if ( ptr == 0 )
      printf("buffer 2 is same as buffer 1\n");
   else
      printf("buffer 2 is less than buffer 1\n");       getch();
   return(0);
} 
系統時間:2024-06-24 3:37:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!