将字符串分割为指定长度的子字符串

将一个字符串从左至右,分割成指定长度的子字符串(注:最后一个子字符串的长度不一定等于指定的长度)

 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 }
原文地址:https://www.cnblogs.com/itsad/p/7878706.html