C 在数据结构中存储字符串
我想创建一个程序,从用户那里接收一些输入字,将输入存储在数据结构中,然后将数据结构打印到txt文件中 现在我只构建了接收一些输入并将它们存储在数据结构中的部分,然后我添加了一个printf来打印数据结构,只是为了测试 问题是,如果我在char“one”上输入“test_one”,它将打印“test_one”,但如果我输入“test one”,它将只打印“test”。 如何编辑它以使其存储整个单词而不是仅存储一个单词?我可以用指针吗C 在数据结构中存储字符串,c,data-structures,C,Data Structures,我想创建一个程序,从用户那里接收一些输入字,将输入存储在数据结构中,然后将数据结构打印到txt文件中 现在我只构建了接收一些输入并将它们存储在数据结构中的部分,然后我添加了一个printf来打印数据结构,只是为了测试 问题是,如果我在char“one”上输入“test_one”,它将打印“test_one”,但如果我输入“test one”,它将只打印“test”。 如何编辑它以使其存储整个单词而不是仅存储一个单词?我可以用指针吗 #include <stdio.h> struct
#include <stdio.h>
struct inputs {
char one[30];
char two[30];
char three[30];
};
int main(void)
{
struct inputs inputs = {"", "", ""};
scanf("%s%s%s", inputs.one, inputs.two, inputs.three);
printf("\n%s;%s;%s\n", inputs.one, inputs.two, inputs.three);
}
}
#包括
结构输入{
char-one[30];
char-two[30];
char-three[30];
};
内部主(空)
{
结构输入输入={“”,“”};
scanf(“%s%s%s”,inputs.1,inputs.2,inputs.3);
printf(“\n%s;%s;%s\n”,inputs.1,inputs.2,inputs.3);
}
}
使用标准“%s”的scanf将只读取输入,直到输入达到空白。请尝试阅读以下内容,直到出现新行:
scanf("%[^\n]s", inputs.one);
scanf("%[^\n]s", inputs.two);
scanf("%[^\n]s", inputs.three);
非常感谢。我只知道gets,不知道fgetsOne一个问题:为什么它只需要一个输入?它只运行第一个scanf,将忽略其他两个scanf