C - 如何使用scanf

时间:2016-05-25 00:33:11

标签: c string scanf

我在练习练习时遇到一些问题。 问题是:我需要从用户那里读取一个字符串,但如果他只键入一个空格,我需要打印一个空格。理论上这没关系。 但是,当我在程序运行时键入空格时,它不会将其理解为字符串,它一直在等我输入其他内容。

我正在使用scanf("%[^\n]", string_name_here);

感谢您的帮助,祝您度过愉快的一天! O / 抱歉我的英语不好,我希望你能理解这一点:)

1 个答案:

答案 0 :(得分:1)

使用char *fgets(char *str, int n, FILE *stream)将成为您的一天。

据男人说:

  

fgets()从流和中读取最多一个小于大小的字符   将它们存储到s指向的缓冲区中。读后停止了   EOF或换行符。如果读取换行符,则将其存储到缓冲区中。   终止空字节(' \ 0')存储在最后一个字符之后   缓冲区。

示例程序

#include <stdio.h>
#define MAXSTR 21

int main(void)
{
char my_str[MAXSTR] = {'\0'};

fgets(my_str, MAXSTR, stdin);

return 0;
}

输入:

  

Claudio Cortese

输出

  

Claudio Cortese