用C語言來分割字串

2022-03-27 18:53:02 字數 2744 閱讀 3138

#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;

} /*

何問起 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...