C 用字符串的部分填充二维数组

C 用字符串的部分填充二维数组,c,arrays,string,token,C,Arrays,String,Token,我希望将断开的字符串部分输入到二维数组中,例如: 字符串:“一天” 数组中的结果:Col1:one Col2:day 问题是,对于第1列和第2列,如何用这两个变量result2填充数组 这是到目前为止我的代码(正如您所看到的,我有一个单独的历史数组和一个单独的用于保存用户输入部分的数组): #包括 #包括 #包括 int main(int argc,char*argv[]) { int i=0;int j=0;int k=0; 字符输入字符串[100]; char*result=NULL; ch

我希望将断开的字符串部分输入到二维数组中,例如: 字符串:“一天” 数组中的结果:Col1:one Col2:day

问题是,对于第1列和第2列,如何用这两个变量
result2
填充数组

这是到目前为止我的代码(正如您所看到的,我有一个单独的历史数组和一个单独的用于保存用户输入部分的数组):

#包括
#包括
#包括
int main(int argc,char*argv[])
{
int i=0;int j=0;int k=0;
字符输入字符串[100];
char*result=NULL;
char*result2=NULL;
char delims[]=“”;
字符历史数组[100][100]={0};
char historyKey[]=“历史记录”;
char*tokenArray[100][100]={0};
//char exitString[]=“退出”;
做
{
printf(“hshell>”);
获取(inputString);
strcpy(historyArray[k],inputString);
k++;
//把绳子断成几段
结果=strtok(输入字符串,delims);
while(结果!=NULL)
{
结果2=结果;
放置(结果);
结果=strtok(空,delims);
对于(int count=0;count对于(i=0;i首先,听起来您需要一个一维数组作为输入:

  char tokenArray[100];
然后再往下,循环将执行以下操作:

result = strtok(inputString, delims);

j = 0;
while (result!=NULL)
{
    strcpy(tokenArray[j++], result);
    puts(result);
    result= strtok(NULL, delims);
}

试试这个提示,看看其他的。

我没有看到问题?补充。很抱歉。简单但比使用两个变量更有效。它可以工作。谢谢你当我调试程序时,当我输入“历史”时,tokenArray在一个地址中有值“history”,并且“tory”在下一个地址中。我想这会阻止我检查tokenArray[1]是否为
NULL
。这是怎么发生的?
result = strtok(inputString, delims);

j = 0;
while (result!=NULL)
{
    strcpy(tokenArray[j++], result);
    puts(result);
    result= strtok(NULL, delims);
}