#includeiostream
成都創新互聯專注于企業營銷型網站建設、網站重做改版、伊吾網站定制設計、自適應品牌網站建設、H5高端網站建設、電子商務商城網站建設、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為伊吾等各大城市提供網站開發制作服務。
#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();
}
#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++中的Split函數是strtok()其函數原型如下:
char
*
strtok
(char
*
str,
const
char
*
delimiters);
函數說明
strtok()用來將字符串分割成一個個片段。參數str指向欲分割的字符串,參數delimiters則為分割字符串,當strtok()在參數str的字符串中發現到參數delimiters的分割字符時則會將該字符改為'\0'字符。在第一次調用時,strtok()必需給予參數str字符串,往后的調用則將參數str設置成NULL。每次調用成功則返回下一個分割后的字符串指針。
返回值
返回下一個分割后的字符串指針,如果已無從分割則返回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;
}
本例中,實現對字符串'a,b,c,d*e"用逗號(,)來作界定符對字符串進行分割。
輸出結果將如下所示:
a
b
c
d*e
因為delimiters支持多個分割符,
我們將本示例中的語句行
const
char
*
split
=
",";
改成
const
char
*
split
=
",*";
//用逗號(,)和星號(*)對字符串進行分割
這樣輸出結果將如下所示:
a
b
c
d
e
分享標題:字符串分割c語言函數 c語言函數實現字符串逆序
本文地址:http://vcdvsql.cn/article38/dopgdpp.html
成都網站建設公司_創新互聯,為您提供App設計、網站設計、搜索引擎優化、微信小程序、網站建設、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯