|
发表于 2005-4-18 10:13:16
|
显示全部楼层
那就用realloc动态分配,用一个变量记数组的大小,一个变量记已实用元素的个数
- int size = 0; /* 数组大小 */
- const int step = 10; /* 数组每次增加的大小 */
- int num = 0; /* 当前实用的元素个数 */
- char **uc = NULL; /* 数组 */
- char *tok = ";"; /* 分隔符 */
- char *t = NULL;
- t = strtok(buf, tok);
- while(t){
- if(num >= size - 1){
- size += step;
- uc = (char **)realloc(uc, size * sizeof(*uc));
- }
- uc[num++] = t;
- t = strtok(NULL, tok);
- }
复制代码
当然,你也可以每次增加一个元素,代码比这个简单,不过速度就慢一点。
记得在适当的地方free |
|