gets用法c语言
㈠ c语言getchar()和gets()的用法
1、gets读一行,getchar()读一个字符。
函数原型:
char
*
gets(char
*
ptr);
int
getchar(void);
2、函数用法:
1)gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的'\n'从流中取出,但不写入数组。gets()不检查被写入的数组大小。
2)getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。
㈡ C语言的get是怎样使用的呢
gets函数:从stdin流中读取字符串,直至读到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。
换行符不作为读取串的内容,读取的换行符被转换为 空字符,并以此结束字符串;当使用unicode宽字符文本时,请使用宽字符版本函数 _getws()。
gets函数可以无限读取,不会判断上限,所以使用时应确保buffer的空间足够大,以便在执行读取操作时不发生溢出。
gets函数在C11标准中被移除,改为更加安全的gets_s函数;头文件:stdio.h;返回值:若读入成功,返回与参数buffer相同的字符指针。
若读入过程中遇到EOF或发生错误,返回NULL指针。所以当遇到返回值为NULL的情况时,应使用ferror或feof函数检查是发生错误还是遇到EOF。
(2)gets用法c语言扩展阅读
#include <iostream>
#include <limits>
#include <cstdio>
using namespace std;
int main()
{
int i_test, c;
printf("Please enter an integer: ");
scanf("%d", &i_test);
printf("You just entered %d. Press enter to continue...", i_test);
while ( (c = getchar()) != ' ' && c != EOF ) ; // 清空输入流
clearerr(stdin); // 清除流的错误标记
cin.get(); // 等待用户输入回车
return 0;
}
㈢ C语言中gets怎么用
很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,有时hacker可以利用原版的不安全性黑掉系统。
单独写gets_s(a)是不正确的,需要传入一个a的长度,改成gets_s(a,10)
告诉gets_s函数最多只能接收10个字符进来。
㈣ C语言中如何用 gets(),put()
gets()、puts()
都是针对字符串类型处理的,传入的参数是char *型,或char[]型
gets()是输入字符串函数,puts()是字符串输出函数
例如:
char *a;
gets(a);
或者:
char a[10];
gets(a);
相当于:
scanf("%s",a);
输出函数:
puts(a);
相当于:
printf("%s\n",a);
㈤ c语言gets()的用法是什么
在前面从键盘输入字符串是使用 scanf 和 %s。其实还有更简单的方法,即使用 gets() 函数。该函数的原型为:
# include <stdio.h>
char *gets(char *str);
这个函数很简单,只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
下面将前面中使用 scanf 输入字符串的程序改一下:
# include <stdio.h>
int main(void)
{
char str[20] = "