C语言读取用户输入的常用函数
Programing Learning Note
- C语言
- 1、scanf
- 2、gets
- 3、fgets
- 4、getchar
C语言
1、scanf
函数原型
int scanf( const char *format, ... );
- 返回值:成功则返回一个大于零的整数,失败则返回一个小于零的整数。
- 参数:一个包含格式说明符的字符串。
- “…” i:指该函数可以接收多个输入参数。
%d to accept input of integers.
%ld to accept input of long integers
%lld to accept input of long long integers
%f to accept input of real number.
%c to accept input of character types.
%s to accept input of a string.
刚函数可以用来同时接收多个输入值,以空格或换行符作为终止标识。
示例一:
char str[16];
printf("please enter a string: ");
scanf("%s",str);
printf("the string you entered is: %s\n", str);
示例二:
char str_1[16],str_2[8];
printf("please enter a string: ");
scanf("%s %s",str_1,str_2);
printf("the string you entered is: %s\n", str_1);
printf("the string you entered is: %s\n", str_2);
2、gets
函数原型
char *gets( char *str );
示例:
char str[8];
printf("please enter a string:");
gets(str);
printf("the string you entered is: %s\n", str);
如果输入的值超过内存空间,则会发生溢出,程序有可能奔溃。
3、fgets
函数原型
char *fgets (char *str, int n, FILE *stream);
该函数的优点是不会溢出,溢出部分放在缓存区中。如果空间充足,还会自动添加一个换行符。
示例:
char str[64];
printf("please enter a string:");
fgets(str, sizeof(str), stdin);
printf("the string you entered is: %s\n", str);
4、getchar
int getchar(void);
输入缓存区中有东西就从头一个一个字节拿出来,没有的画就等待用户输入,常用以下的语句来消除输入缓存区中的字符。
while(getchar != '\n')
{
continue;
}