strtok()函數并不像你想的那樣可以一次切割字串。需要多次循環,第二次時需要用 p = strtok(NULL, " "); 這樣的 形式。

創新互聯于2013年開始,是專業互聯網技術服務公司,擁有項目成都網站制作、成都做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元孟村做網站,已為上家服務,為孟村各地企業和個人服務,聯系電話:18982081108
void main()
{ char test1[] = "Hello C World";
char *p;
p = strtok(test1, " ");
while(p)
{
printf("%s\n", p);
p = strtok(NULL, " ");
}
return 0;
}
運行結果:
Hello
C
World
#includeiostream
#includevector
#includesstream
usingnamespacestd;
intmain()
{
strings;
vectorintv;
cins;
//將讀入的字符串轉化成is流
istringstreamis(s);
intinter;
charch;
while(isinter)//只能讀出is流中的一個整形讀進inter
{
v.push_back(inter);
isch;//然后讀一個字符型讀進ch
}
for(inti=0;iv.size();i++)
coutv[i]"";
coutendl;
return0;
}
擴展資料
C語言的字符串按照指定字符串分割操作
#includestdio.h
#pragmawarning(disable:4996)
#includestdlib.h
intmain()
{
charstr[]="我,是,中國,程序員";
char*ptr;
char*p;
printf("開始前:str=%s\n",str);
printf("開始分割:\n");
ptr=strtok(str,",");
while(ptr!=NULL){
printf("ptr=%s\n",ptr);
ptr=strtok(NULL,",");
}
getchar();
}
char *strtok(char *str, const char *delim)
str -- 要被分解成一組小字符串的字符串。
delim -- 包含分隔符的 C 字符串。
int sscanf(const char *str, const char *format, ...)
char *strstr(const char *haystack, const char *needle)
haystack -- 要被檢索的 C 字符串。
needle -- 在 haystack 字符串內要搜索的小字符串。
#include?stdio.h
#include?string.h
//?將str字符以spl分割,存于dst中,并返回子字符串數量
int?split(char?dst[][80],?char*?str,?const?char*?spl)
{
int?n?=?0;
char?*result?=?NULL;
result?=?strtok(str,?spl);
while(?result?!=?NULL?)
{
strcpy(dst[n++],?result);
result?=?strtok(NULL,?spl);
}
return?n;
}
int?main()
{
char?str[]?=?"what?is?you?name?";
char?dst[10][80];
int?cnt?=?split(dst,?str,?"?");
for?(int?i?=?0;?i??cnt;?i++)
puts(dst[i]);
return?0;
}
網頁標題:C語言字符串切割函數 c字符串切片
當前地址:http://www.yijiale78.com/article4/ddgcsoe.html
成都網站建設公司_創新互聯,為您提供響應式網站、靜態網站、網站設計、網站設計公司、外貿建站、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯