先將所有的讀進來存在一個字符串中,然后用字符分割函數(shù)strtok()//具體可參見API
10年積累的成都網(wǎng)站設計、成都網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有安慶免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
例如:
char str[] = "now # is the time for all # good men to come to the # aid of their country";
char delims[] = "#";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
printf( "result is \"%s\"\n", result );
result = strtok( NULL, delims );
}
以上代碼的運行結果是:
result is "now "
result is " is the time for all "
result is " good men to come to the "
result is " aid of their country"
C語言可大多數(shù)語言一樣,允許用逗號分隔聲明語句中的標識符列表,說明這些運算符是同一變量類型。例如:
float Area,Height,Width;
但有些程序員喜歡把標識符寫在不同的行上。如:float Area,
Height, Width;
這樣寫至少有一個好處,就是可以在每個標識符后邊加上注釋。
在聲明變量的時候,也可以直接給變量賦值,這叫做變量的初始化。如:int a;
a=3;
等價于: int a=3;
我們也讓某些變量初始化,某些不初始化,如:int
a=3,b,c=5;
在進行初始化時,初始化表達式可以是任意的(對全局變量和靜態(tài)變量有區(qū)別),由于逗號運算符是從左到右運算的,那么看看這樣行不行?
a=3,b=a,c=5;
#includeiostream
#includevector
#includesstream
usingnamespacestd;
intmain()
{
strings;
vectorintv;
cins;
//將讀入的字符串轉(zhuǎn)化成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();
}
c語言中,分隔符有逗號、空白符、分號和冒號。
(1)逗號作為分隔符用來分隔多個變量和函數(shù)參數(shù);
(2)空白符常用來作為多個單詞間的分隔符,也可以作為輸數(shù)據(jù)時自然輸入項的缺省分隔符;
(3)分號常用于for循環(huán)語中for后面,圓括號內(nèi)的三個表達式之間;
(4)冒號用于語句標號與語句之間。
擴展資料
C語言分隔符的使用
#includestdio.h
#includestring.h
intmain()
{
charstr[]="now,isthetimeforall,goodmentocometothe,aidoftheircountry";
chardelims[]=",";
char*result=NULL;
result=strtok(str,delims);
while(result!=NULL){
printf("resultis\"%s\"\n",result);
result=strtok(NULL,delims);
}
}
參考資料來源:百度百科—分隔符