gpt4 book ai didi

c - 如何在C中使用**scanf**读取和存储用户输入的包含空格键的数据

转载 作者:行者123 更新时间:2023-11-30 16:27:42 25 4
gpt4 key购买 nike

我在使用 C 输入包含空格键的数据时遇到问题

克利翁 (C99)

输入收件人姓名、最终目的地和包裹状态

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


printf("Please enter , 1> Recipient-, 2> Final Destination- and 3>Delivery status :\n");

scanf("%s", name_location_status);


const char upper[2] = "-";
char *token;
token = strtok(name_location_status, upper);
int i=0;
while( i!=3,token != NULL )
{

(i==0) ? strcpy(recipient, token) :
(i==1) ? strcpy(final_destination, token) :
strcpy(status, token) ;
i++;
token = strtok(NULL, upper);
}

如果输入 (Rat-House-Arrived) 输出 (Rat-House-Arrived),则程序可以正常工作但如果输入包含空格键,则它将不起作用(L Rat-Kitchen House-Not returned)输出 (L ��)

那么有没有一种方法可以使用 scanf 来输入这样的数据?

Blockquote(L Rat-Kitchen House-Not arrived),which is in a line

如果没有,你能告诉我一种方法吗?在一行中输入此类数据

最佳答案

使用 getline() 函数代替 scanf,这里似乎更合适

char *line = NULL;
getline(&line);

关于c - 如何在C中使用**scanf**读取和存储用户输入的包含空格键的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52657216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com