c++中,將一個大的字符數組分割爲小的字符數組:
#include <iostream>
#include <string>using namespace std;
void main()
{char str[] = "1------小+-----15軟件10班------男------15335691------"; /*待分隔的原字符串*/
char seg[] = "------"; /*分隔符這裏爲逗號comma,分隔符可以爲你指定的,如分號,空格等*/
char charlist[50][50]={""}; /*指定分隔後子字符串存儲的位置,這裏定義二維字符串數組*/
int i =0;
char *substr= strtok(str, seg); /*利用現成的分割函數,substr爲分割出來的子字符串*/
while (substr != NULL) {
strcpy(charlist[i],substr); /*把新分割出來的子字符串substr拷貝到要存儲的charlsit中*/
i++;
cout<<substr<<endl;
substr = strtok(NULL,seg); /*在第一次調用時,strtok()必需給予參數str字符串, 往後的調用則將參數str設置成NULL。每次調用成 功則返回被分割出片段的指針。*/}
//也可以這樣輸出數組
cout<<charlist[2]<<endl;
}