#include intmain()
;
char str2[10] = ;
char str3[10] = ;
sscanf(
"1,2,3#3,4#4,5
","%[^#]#%[^#]#%[^#]
", str1, str2,str3);
printf(
"the split result is:\n%s\n%s\n%s\n
",str1, str2,str3);
return
0;
} /*
何問起 hovertree.com
*/
//[c語言]字串處理 - 以指定的字串分割字串(支援中文字元)
//2008-11-8: 函式stringsplit(分割字串到乙個字串陣列中,其中該陣列第0位為分割後字串的個數)
//2008-11-10: 函式stringsplit_struct(以定義乙個新結構的方式來實現該函式)
/*c**如下
*/#include
/*實現方案1
*//*
何問起 hovertree.com
*//*
分割字串到乙個字串陣列中,其中該陣列第一位為分割後的個數
*/char** stringsplit(const
char* string,const
char*split)
/*分配臨時字串空間
*/temp = (char * )malloc(sizeof(char)*(pos - p+1
));
memset(temp,
0,sizeof(char)*(pos - p+1
));
/*設定頭指標,以便賦值時使用
*/tt =temp;
while(p<=pos)
/*將字串結尾置零
*/
*--temp = '\0'
; result = (char * * )realloc(result,sizeof(char *)*(count+1
));
result[
0] =count;
result[count] =tt;
count++;
/*設定下一次遍歷時的指標(重要)。當split長度大於1時,不這樣設定會多賦值不必要的字串
*/p +=strlen(split)-1
; }
return
result;
} /*
實現方案2
*//*
何問起 hovertree.com
*//*
為方便計數定義的結構,字串陣列從0開始賦值
*/typedef
struct
stringtab;
/*分割字串到乙個字串陣列中
*/stringtab stringsplit_struct(
const
char* string,const
char*split)
/*分配臨時字串空間
*/temp = (char * )malloc(sizeof(char)*(pos - p+1
));
memset(temp,
0,sizeof(char)*(pos - p+1
));
/*設定頭指標,以便賦值時使用
*/tt =temp;
while(p<=pos)
/*將字串結尾置零
*/
*--temp = '\0'
; result.
string = (char * * )realloc(result.string,sizeof(char *)*(result.number+1
));
result.
string[result.number] =tt;
/*計數器加一
*/result.number++;
/*設定下一次遍歷時的指標(重要)。當split長度大於1時,不這樣設定會多賦值不必要的字串
*/p +=strlen(split)-1
; }
return
result;
}
intmain()
array = stringsplit("
a/aa哈a//哈aa
","哈
");
for(i=1;i<=(int)array[0];i++)
/*方案2測試
*/stringtab array2;
array2 = stringsplit_struct("
a/aaa//哈aa
","aaa
");
for(i=0;i<=array2.number;i++)
array2 = stringsplit_struct("
a/aa哈a//哈aa
","哈
");
for(i=0;i<=array2.number;i++)
return
0;
}
相關:
用C語言來分割字串
include int main char str2 10 char str3 10 sscanf 1,2,3 3,4 4,5 str1,str2,str3 printf the split result is n s n s n s n str1,str2,str3 return 0 何問起 ho...
C語言 strtok 字串分割
參考 c 字串分割方法 實現split 使用函式strtok可實現c語言環境下的字串分割 cstring strtok 函式 char strtok char str,const char delimiters 引數 功能 分割字串 例程 include include include int ma...
C語言的字串分割
c語言的字串分割 說起來很有意思,自認為對c語言理解得還是比較深刻的。但居然到今天才知道有個strtok函式,試用了一下突然感慨以前做了多少重複勞動。每次需要解析配置檔案,每次需要分割字串,居然都是自己去分割字串,既累人又容易出錯。感概繼續學得不夠全面啊!這裡引用一段strtok用法 str2nul...