gpt4 book ai didi

c - 询问用户输入 C 时读取空格

转载 作者:太空宇宙 更新时间:2023-11-04 06:27:50 24 4
gpt4 key购买 nike

我在尝试读取 C 中的空白字符时遇到问题。我想做的是在询问名字和姓氏时读取用户输入。

例如,我提示用户输入他们的姓名,他们输入类似“Peter Smith”的内容。有了这些信息,我想把它写入一个文件。

当它写入文件时,文件只读取姓氏“Smith”。如何读取整个字符串?

我是这样问的:

printf("\nPlease enter your first and last name:  \n");
scanf("%[^\n]", name);
fgets(name, sizeof(name), stdin);

最佳答案

我认为您的问题不在于您发布的代码段。这是我在 Linux 系统上编写的一个示例程序,用于尝试查明问题:

#include <stdio.h>

int main()
{
char name[128];
int num_scans = 0;
FILE *out = fopen("name.txt", "w");

if(out == NULL)
{
printf("Failed to open file for write.\n");
return 1;
}

printf("\nPlease enter your first and last name: \n");
num_scans = scanf("%127[^\n]", name);

if(num_scans < 1)
{
printf("Error reading name.\n");
return 2;
}

fprintf(out, "%s\n", name);

fclose(out);

return 0;
}

这似乎对我有用:

$cat name.txt
Peter Smith

如果您发布用于将名称写入文件的代码,这可能会揭示错误的来源。

关于c - 询问用户输入 C 时读取空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24358709/

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