您的位置:首页 > 其它

有一段文本,将文本中的所有单词,存放到一个字符指针数组中(要求每个单词内存恰好)

2014-07-29 22:58 399 查看
char str[] =
"vkal fjut bkil vcujt lojio cthrh";

char *pStr[6] = {0};//这里的数组个数可以指定地大一些

int i =
0, k =
0;//i记录字符个数,k记录指针数组的组数

int length = 0;//length记录单词的长度

while (str[i] != '\0') {

if (str[i] != ' ') {
length ++;
}
else{
str[i] =
'\0';
*(pStr + k) =
malloc(length + 1);

strcpy(*(pStr + k), &(str[i - length]));
length =
0;
k ++;
}
i ++;

}//执行到这里k=5

if (length != 0) {
str[i] =
'\0';
*(pStr + k) =
malloc(length + 1);

strcpy(*(pStr + k), &(str[i - length]));

//k++;
}

for (int i =
0; i < 6; i ++) {

printf("%s ", *(pStr + i));

free(*(pStr + i));
*(pStr + i) =
NULL;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐