#includeiostream

成都創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、伊吾網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為伊吾等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
#includevector
#includesstream
usingnamespacestd;
intmain()
{
strings;
vectorintv;
cins;
//將讀入的字符串轉(zhuǎn)化成is流
istringstreamis(s);
intinter;
charch;
while(isinter)//只能讀出is流中的一個(gè)整形讀進(jìn)inter
{
v.push_back(inter);
isch;//然后讀一個(gè)字符型讀進(jìn)ch
}
for(inti=0;iv.size();i++)
coutv[i]"";
coutendl;
return0;
}
擴(kuò)展資料
C語言的字符串按照指定字符串分割操作
#includestdio.h
#pragmawarning(disable:4996)
#includestdlib.h
intmain()
{
charstr[]="我,是,中國(guó),程序員";
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();
}
#include?stdio.h
#include?string.h
//?將str字符以spl分割,存于dst中,并返回子字符串?dāng)?shù)量
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++中的Split函數(shù)是strtok()其函數(shù)原型如下:
char
*
strtok
(char
*
str,
const
char
*
delimiters);
函數(shù)說明
strtok()用來將字符串分割成一個(gè)個(gè)片段。參數(shù)str指向欲分割的字符串,參數(shù)delimiters則為分割字符串,當(dāng)strtok()在參數(shù)str的字符串中發(fā)現(xiàn)到參數(shù)delimiters的分割字符時(shí)則會(huì)將該字符改為'\0'字符。在第一次調(diào)用時(shí),strtok()必需給予參數(shù)str字符串,往后的調(diào)用則將參數(shù)str設(shè)置成NULL。每次調(diào)用成功則返回下一個(gè)分割后的字符串指針。
返回值
返回下一個(gè)分割后的字符串指針,如果已無從分割則返回NULL。
示例-1
/*
strtok
example
*/
#include
stdio.h
#include
string.h
int
main
()
{
char
str[]
="a,b,c,d*e";
const
char
*
split
=
",";
char
*
p;
p
=
strtok
(str,split);
while(p!=NULL)
{
printf
("%s\n",p);
p
=
strtok(NULL,split);
}
getchar();
return
0;
}
本例中,實(shí)現(xiàn)對(duì)字符串'a,b,c,d*e"用逗號(hào)(,)來作界定符對(duì)字符串進(jìn)行分割。
輸出結(jié)果將如下所示:
a
b
c
d*e
因?yàn)閐elimiters支持多個(gè)分割符,
我們將本示例中的語句行
const
char
*
split
=
",";
改成
const
char
*
split
=
",*";
//用逗號(hào)(,)和星號(hào)(*)對(duì)字符串進(jìn)行分割
這樣輸出結(jié)果將如下所示:
a
b
c
d
e
分享標(biāo)題:字符串分割c語言函數(shù) c語言函數(shù)實(shí)現(xiàn)字符串逆序
本文地址:http://www.chinadenli.net/article38/dopgdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、微信小程序、網(wǎng)站建設(shè)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)