如何在使用a";中的strtok()后组合字符串并将其存储在数组中;“全字符串”;在C中

如何在使用a";中的strtok()后组合字符串并将其存储在数组中;“全字符串”;在C中,c,C,我是C语言的新手,我在组合用strtok()分隔的字符串时遇到了麻烦。 使用Clion(C99) 让我们看看我的代码 char recipient[30]; char final_destination[50]; char status[10]; printf("Please enter 1> Recipient-, 2> Final Destination- and 3>Delivery status :\n"); Entered(L-Rat Kitchen-Ho

我是C语言的新手,我在组合用strtok()分隔的字符串时遇到了麻烦。 使用Clion(C99) 让我们看看我的代码

char recipient[30];
char final_destination[50];
char status[10];


printf("Please enter 1> Recipient-, 2> Final Destination- and 
3>Delivery status :\n");    Entered(L-Rat Kitchen-House Not-Arrived)

scanf("%29s%49s%9s", recipient, final_destination, status);
///仅收件者优先///在字符串中存储“收件者最终目的地,状态”的目的是让用户在使用scanf时在同一行中输入数据。之后,我使用strok将“-”之前/之后的单词分隔开。使用scanf中的空格键分隔不同的字符串,以防止类似的数据输入(L-RatKitchenhouse未到达)

在这一行,我被卡住了,我不知道如何或是否有办法将这些处理过的数据放入一个数组并组合起来

期望:

输入:(L-鼠屋厨房未到达)

输出:(L老鼠屋厨房未到达)


如果有解决方案,这将非常有用!!!

如果您想将代币存储在数组中,请尝试此方法

while (token != NULL) 
    { 
        printf("%s\n", token); 
        token = strtok(NULL, "-"); 
    }

您是否只想在最后一个字符串中用空格替换短划线?无需使用strtok!@hyde how?如何替换?只需在字符串上使用for循环,并替换您想要的任何字符。虽然更好的解决方案是更改scanf格式字符串,以便最后一项在行尾之前都是所有内容,以便用户可以执行操作在最后一个字段中输入空格。“数组中的令牌”请问是哪个数组?@alk Nothing我只是想说,而不是打印它。
while (token != NULL) 
    { 
        printf("%s\n", token); 
        token = strtok(NULL, "-"); 
    }