【发布时间】:2013-10-05 15:43:55
【问题描述】:
嘿,我目前正在学习 c 语言。是否有可能将 char* 类型变量(其中包含一些由空格分隔的单词)转换为字符串数组(在 c 中为 char*[]),这样原始变量上的每个单词将在新数组中的不同索引中?
【问题讨论】:
-
搜索
strtok()。 -
查看this question的第一个答案。
嘿,我目前正在学习 c 语言。是否有可能将 char* 类型变量(其中包含一些由空格分隔的单词)转换为字符串数组(在 c 中为 char*[]),这样原始变量上的每个单词将在新数组中的不同索引中?
【问题讨论】:
strtok()。
C 库函数strtok():
char * strtok (char * str, const char * 分隔符);
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ");
}
return 0;
}
【讨论】:
str 的每个字符复制到tokens。 OP 要求将char *str 拆分为char *array[numTokens] 左右。