将一个字符串从左至右,分割成指定长度的子字符串(注:最后一个子字符串的长度不一定等于指定的长度)
1 #include <stdio.h> 2 #include <string.h> 3 4 #define STR_LENGTH 5 //分割之后每个字符串的长度(最后一个字符串不一定是这么长) 5 6 static char str[1024][20] = {}; 7 8 int Splitstr(char *srcstr) 9 { 10 char *b; 11 int i, j, strnum, len; 12 13 len = strlen(srcstr); 14 15 //可以分割成多少个字符串 16 if( len%STR_LENGTH == 0 ) 17 strnum = len/STR_LENGTH; 18 else 19 strnum = len/STR_LENGTH + 1; 20 21 printf("strnum:%d\n",strnum); 22 23 for(i = 0; i < strnum; i++){ 24 b = srcstr+i*STR_LENGTH; //从原字符串除去已分割的字符串 25 j = 0; 26 while(*b && j<STR_LENGTH) 27 { 28 str[i][j] = *b; 29 j++; 30 b++; 31 } 32 33 printf("string%d: %s\n", i, str[i]); 34 } 35 } 36 37 int main() 38 { 39 char *str = "13213234124249485834090848123761246128"; 40 41 Splitstr(str); 42 43 return 0; 44 }