青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Forever

my feeling and C++'s
posts - 5, comments - 12, trackbacks - 0, articles - 0

C語言中strtok與strpbrk的區別(轉)

Posted on 2008-06-26 22:16 HYin 閱讀(5548) 評論(4)  編輯 收藏 引用
一、strpbrk:

調用格式:result = strpbrk(source-string, searching-string)
用途:在源字符串(source-string)中找出最先含有搜索字符串(searching-string)中的任一字符的位置并返回,若找不到則返回空指針。
注意:返回值是指向源字符串的指針,所以在使用返回結果的時候,請確保源字符串的有效性。
舉MSDN中的例子:
數據:
char string[100] = "The 3 men and 2 boys ate 5 pigs\n";
char *result;
調用:
result = strpbrk( string, "0123456789" );//在string中找出最先出現0~9中某一個字符的位置
printf( "1: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "2: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "3: %s\n", result );
輸出的結果是:
1. 3 men and 2 boys ate 5 pigs//最先發現3

2: 2 boys ate 5 pigs//最先發現2,注意這時開始源串是上一次的結果的下一位置,即跳過了數字'3',下同

3: 5 pigs//最先發現5

=========================
二、strtok:

用法:token = strtok(source-str,seperator-str)
用途:在source-str中找出以seperator-str中的字符為分隔的字符串,即是源串中除去了含有分隔串中的所有字符后余下的一段段的字符串,每調用一次找到一串,找不到則返回空串。
注意:返回值是指向源串的指針,所以同樣要保證源串的有效性,此外,每次調用返回找到的子串的時候都會把源串中該子串的尾部字符(原來是搜索串中的某一字符)修改成'\0'字符。還有一個要注意的是,這個函數使用全局的靜態緩沖區(函數自己的靜態buffer),所以在某一個線程里不要同時調用這個函數來處理兩個字符串,否則極易出現不正常的結果,正確的處理方法是先找出一個字符串中的所有子串,然后才轉到處理另一個字符串。多線程之間則不會出現這種干擾。
同樣舉MSDN中的例子:
數據準備:
char string[] = "A string\tof ,,tokens\nand some more tokens";
char seps[] = " ,\t\n";
char *token;
調用示例:
token = strtok( string, seps );
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token );
/* Get next token: */
token = strtok( NULL, seps );
/*注意到上面這個NULL,它表明的是從上次調用結果中strtok自有的緩沖區中繼續取出余下的子串*/
}
顯示結果:
A //此時string[1]='\0',原先為空格
string
of
tokens
and
some
more
tokens

Feedback

# re: C語言中strtok與strpbrk的區別(轉)  回復  更多評論   

2008-06-27 09:33 by true
可否談談為什么 多線程之間則不會出現這種干擾

# re: C語言中strtok與strpbrk的區別(轉)  回復  更多評論   

2008-06-27 10:58 by Jeff Chen
@true

我覺得strtok使用的緩沖區應該是TLS的。每個線程的TLS都是獨立的,相互隔離的。這樣的話,在多個線程中調用strtok函數才不會相互影響,出現類似在同一個線程中同時調用strtok兩次或以上時,出現的不正常情況。

# re: C語言中strtok與strpbrk的區別(轉)  回復  更多評論   

2008-06-28 11:21 by HYin
@true
strtok 這個函數使用全局的靜態緩沖區(函數自己的靜態buffer),所以在某一個線程里不要同時調用這個函數來處理兩個字符串,否則極易出現不正常的結果,正確的處理方法是先找出一個字符串中的所有子串,然后才轉到處理另一個字符串。多線程之間則不會出現這種干擾。

# re: C語言中strtok與strpbrk的區別(轉)  回復  更多評論   

2008-07-01 13:01 by 企業即時通訊
聽說,有些標準庫函數,不支持多線程的。
不知這些是不是。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美不卡福利| 老司机精品福利视频| 国产精品乱码一区二区三区 | 亚洲精品视频二区| 永久555www成人免费| 国产精品普通话对白| 国产精品午夜春色av| 亚洲夜间福利| 久久久青草青青国产亚洲免观| 亚洲视频在线一区| 中文国产亚洲喷潮| 亚洲一二三四久久| 中文精品视频一区二区在线观看| 99精品视频网| 一本久久青青| 中文在线资源观看网站视频免费不卡 | 亚洲欧洲三级电影| 国产色综合网| 国产日韩欧美高清免费| 国产精品久久激情| 国产精品久久久久久久久久久久久久 | 国产精品a级| 国产麻豆一精品一av一免费| 欧美电影美腿模特1979在线看| 免费亚洲电影在线| 欧美精品福利视频| 国产精品免费区二区三区观看| 国产精品欧美日韩一区二区| 国产视频在线观看一区二区| 在线不卡视频| 日韩西西人体444www| 亚洲香蕉在线观看| 91久久精品网| 伊人婷婷欧美激情| 日韩视频免费观看高清在线视频| av成人免费在线| 欧美在线观看视频| 欧美成人免费va影院高清| 欧美国产精品日韩| 99综合在线| 久热精品在线| 国产精品美女久久| 国产精品久久久久9999吃药| 国产一区二区三区视频在线观看| 国产日韩一区| 国产亚洲成人一区| 亚洲精品国产品国语在线app | 免费毛片一区二区三区久久久| 亚洲精品在线免费观看视频| 亚洲欧美日韩高清| 欧美第一黄色网| 亚洲精品视频中文字幕| 久久久综合激的五月天| 亚洲区免费影片| 一区二区三区精品视频在线观看| 久久成人精品一区二区三区| 免费观看不卡av| 欧美日韩视频一区二区三区| 国产综合自拍| 香蕉亚洲视频| 亚洲精品永久免费精品| 久久久精彩视频| 国产伦理一区| 一本久道久久综合婷婷鲸鱼 | 国产精品久久久久aaaa九色| 亚洲精品三级| 亚洲风情在线资源站| 欧美影院成人| 国产精品久久77777| 亚洲美女免费精品视频在线观看| 久久久久久穴| 亚洲激情综合| 欧美中文字幕在线播放| 国产精品亚洲成人| 性刺激综合网| 亚洲欧美日韩国产一区二区| 欧美日韩精品三区| 亚洲伦理精品| 亚洲国产视频a| 欧美激情一区二区三区高清视频| 在线日韩av| 欧美成人亚洲成人日韩成人| 久久精品国产999大香线蕉| 国产日韩欧美在线播放| 久久爱www.| 欧美怡红院视频一区二区三区| 国产婷婷色一区二区三区在线| 久久福利精品| 欧美一区永久视频免费观看| 国产欧美精品一区| 久久久久久夜精品精品免费| 久久国产精品久久w女人spa| 精久久久久久| 亚洲第一毛片| 亚洲精品在线免费观看视频| 欧美精品高清视频| 亚洲国产视频a| 欧美午夜视频在线观看| 亚洲国产精品电影在线观看| 久久夜色精品亚洲噜噜国产mv| 亚洲网站视频福利| 国产精品久久一卡二卡| 欧美一区二区三区电影在线观看| 亚洲永久网站| 一区二区亚洲精品| 欧美激情视频在线播放| 欧美精品尤物在线| 亚洲免费观看| 欧美激情视频在线播放| 欧美日韩午夜| 久久精品国产一区二区三区免费看| 午夜视频一区| 亚洲二区在线| 在线一区二区三区四区五区| 国产一区二区三区四区三区四| 欧美成年网站| 国产精品日本一区二区 | 亚洲精品欧美| 亚洲婷婷综合久久一本伊一区| 国产欧美精品一区二区三区介绍| 91久久久国产精品| 中文无字幕一区二区三区| 欧美午夜精品伦理| 久久人人爽人人| 亚洲天堂av图片| 亚洲激情电影在线| 亚洲精品孕妇| 在线日本成人| 欧美亚洲一级片| 亚洲伊人观看| 欧美电影在线免费观看网站| 久久精品女人天堂| 国产精品福利在线| 亚洲三级视频在线观看| 亚洲国产成人在线播放| 欧美与黑人午夜性猛交久久久| 亚洲欧洲av一区二区三区久久| 欧美日韩免费在线视频| 亚洲国产日韩综合一区| 亚洲成色777777在线观看影院| 欧美在线日韩| 久久国产精品一区二区| 国产精品日韩在线一区| 一区二区三区高清在线| 一本大道av伊人久久综合| 欧美岛国激情| 日韩天天综合| 欧美视频中文在线看| 亚洲一区二区三区在线视频| 欧美激情精品久久久久久变态 | 亚洲国产精品久久久| 久久久噜噜噜久久久| 蜜臀av性久久久久蜜臀aⅴ| 有码中文亚洲精品| 免费欧美在线视频| 91久久精品视频| 亚洲一区二区三区午夜| 国产噜噜噜噜噜久久久久久久久| 亚洲欧美日本另类| 免费在线观看成人av| 91久久精品一区| 在线中文字幕不卡| 久久成人这里只有精品| 尤物99国产成人精品视频| 久久久之久亚州精品露出| 亚洲第一区色| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美日韩国产成人在线| 亚洲免费影视| 欧美大片91| 亚洲一区二区成人在线观看| 国产精品高清免费在线观看| 亚洲欧美精品suv| 欧美国产一区在线| 午夜视频久久久| 亚洲国产日韩欧美在线动漫| 国产精品成人观看视频免费| 欧美在线影院在线视频| 亚洲国产精品一区二区久| 午夜精品一区二区三区在线播放| 精品成人乱色一区二区| 欧美日韩高清免费| 久久久福利视频| 亚洲夜间福利| 亚洲精品国精品久久99热一| 久久九九精品| 在线综合亚洲| 亚洲国产精品一区制服丝袜| 国产精品久久久久久久浪潮网站 | 欧美色视频日本高清在线观看| 欧美一区二区三区在线观看视频| 亚洲电影免费观看高清完整版在线观看 | 999亚洲国产精| 国产欧美日韩不卡| 欧美高清视频在线播放| 欧美一区日本一区韩国一区| 中国成人在线视频| 在线不卡中文字幕| 久久嫩草精品久久久精品| 亚洲一区视频在线观看视频|