gets 订阅
gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。 展开全文
gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
信息
原    型
char * gets ( char * str );
外文名
gets
头文件
stdio.h(c),cstdio(C++)
中文名
读取字符串
功    能
读取字符串
gets功能
从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。 [1] 
收起全文
精华内容
下载资源
问答
  • gets

    2020-06-15 22:30:43
    gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但***换行符会被丢弃***,然后在末尾添加’\0’字符。其调用格式为: gets(s);

    gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但***换行符会被丢弃***,然后在末尾添加’\0’字符。其调用格式为:
    gets(s);

    展开全文
  • VS2015提示gets未定义

    万次阅读 2018-09-17 17:16:46
    出现这种情况的一般原因是, VS2015使用的是新C标准,也就是C11,而VC6.0用的是老标准。 在新标准中,应该是用gets_s代替gets gets_s的具体用法是: gets_s(char *buff,size) ...

    出现这种情况的一般原因是,

    VS2015使用的是新C标准,也就是C11,而VC6.0用的是老标准。

    在新标准中,应该是用gets_s代替gets

    gets_s的具体用法是:

    gets_s(char *buff,size)

    点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本人已拿大厂 offer。 另外,原创文章首发在我的个人博客:blog.ouyangsihai.cn,欢迎访问。

    最后,再分享我历时三个月总结的 Java 面试 + Java 后端技术学习指南,这是本人这几年及春招的总结,已经拿到了大厂 offer,整理成了一本电子书,拿去不谢,目录如下:

    现在免费分享大家,在下面我的公众号 程序员的技术圈子 回复 面试 即可获取。

    有收获?希望老铁们来个三连击,给更多的人看到这篇文章

    1、老铁们,关注我的原创微信公众号「程序员的技术圈子」,专注于 Java、数据结构和算法、微服务、中间件等技术分享,保证你看完有所收获。

    2、给俺点个赞呗,可以让更多的人看到这篇文章,顺便激励下我继续写作,嘻嘻。

    3、另外,原创文章首发在我的个人博客:blog.ouyangsihai.cn,欢迎访问。

    点赞是对我最大的鼓励 ↓↓↓↓↓↓

    展开全文
  • gets函数,C语言gets函数详解

    千次阅读 多人点赞 2021-03-01 21:41:14
    其实还有更简单的方法,即使用 gets() 函数。该函数的原型为: # include <stdio.h> char *gets(char *str); 这个函数很简单,只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也...

    在前面从键盘输入字符串是使用 scanf 和 %s。其实还有更简单的方法,即使用 gets() 函数。该函数的原型为:

    # include <stdio.h>
    char *gets(char *str);

    这个函数很简单,只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。
    gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
    下面将前面中使用 scanf 输入字符串的程序改一下:

    # include <stdio.h>
    int main(void)
    {
        char str[20] = "\0";  //字符数组初始化\0
        printf("请输入字符串:");
        gets(str);
        printf("%s\n", str);
        return 0;
    }

    输出结果是:
    请输入字符串:i love you
    i love you

    可见,gets() 函数不仅比 scanf 简洁,而且,就算输入的字符串中有空格也可以直接输入,不用像 scanf 那样要定义多个字符数组。也就是说:

    # include <stdio.h>
    int main(void)
    {
        char str[30];
        char *string = str;  //一定要先将指针变量初始化
        printf("请输入字符串:");
        gets(string);  //也可以写成gets(str);
        printf("%s\n", string);  //输出参数是已经定义好的“指针变量名”
        return 0;
    }

    输出结果是:
    请输入字符串:Hi i...like you
    Hi i...like you

    此外,关于使用 gets() 函数需要注意:使用 gets() 时,系统会将最后“敲”的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符。这就意味着,如果前面使用过 gets(),而后面又要从键盘给字符变量赋值的话就不需要吸收回车清空缓冲区了,因为缓冲区的回车已经被 gets() 取出来扔掉了。下面写一个程序验证一下:

    # include <stdio.h>
    int main(void)
    {
        char str[30];
        char ch;
        printf("请输入字符串:");
        gets(str);
        printf("%s\n", str);
        scanf("%c", &ch);
        printf("ch = %c\n", ch);
        return 0;
    }

    输出结果是:
    请输入字符串:i love you
    i love you
    Y
    ch = Y

    我们看到,没有清空缓冲区照样可以输入'Y',因为 gets() 已经将缓冲区中的回车取出来丢掉了。如果前面使用的不是 gets() 而是 scanf,那么通过键盘给 ch 赋值前就必须先使用 getchar() 清空缓冲区。

    展开全文
  • GETS_App-源码

    2021-03-27 04:05:23
    GETS_App
  • 当scanf和gets连续使用时,位于scanf之后的gets函数无法正常使用。这是因为scanf和gets结束输入的标志存在差异。

    Scanf和gets连用时gets的异常

    scanf作为C语言初学者最常用的一种输入函数,其实存在很多缺陷。作者在自己学习的过程中偶然间发现scanf后直接接gets会出现一个问题,比如说,

    int a;
    char b[20];
    scanf("%d",&a);
    gets(b);
    

    编译时就会发现,gets(b)完全没法正常运行。

    要想解决这个问题,我们就要考虑一下scanf是以什么为输入结束的标志的。在这段程序中,首先我们输入a的值,比如说我们令a输入为123。然后,按“回车”结束scanf的整数输入。再然后我们计划输入字符串b。这似乎没有什么问题,但是等一下,我们输入了什么?123,你确定只有123吗?

    这时候我们发现:实际上我们在输入的时候并非只输入了“123”,除了这个整数以外,我们还输入了一个“回车”。是的,回车是scanf结束输入的标志,但回车却不会被scanf接收。这个回车虽然被输入了,但却游离在函数之外,直到gets函数出现了。

    是的,gets函数直接接受了“回车”。更要命的是,gets函数也是以回车为输入结束的,这就导致gets函数出现了明显的异常。

    要想解决这个问题也很简单,在scanf和gets之间加入一个getchar来吸收这个回车就行了。

    展开全文
  • gets函数

    2018-02-27 22:06:36
    gets 编辑 锁定 gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。中文名gets 外文名gets 头文件stdio.h(c...
  • gets()、fgets()、gets_s()、s_gets() 1、gets()
  • gets()函数

    千次阅读 多人点赞 2021-03-03 23:46:57
    gets()函数 1.描述 C 库函数 char *gets(char *str) 从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。 gets(str) 约等于 scanf(...
  • C语言-gets函数

    千次阅读 多人点赞 2020-03-20 20:43:37
    gets函数 gets函数原型:char *gets(char *str) 功能:从stdio流中读取字符串直到遇到换行符或者EOF时停止,并将读取的结果存放在str指针所指字符数组中换行符不作为读取内容 ,读取的换行符被转换为NULL值 并由此...
  • gets和fgets函数及其区别,C语言gets和fgets函数详解 每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的“互联网蠕虫”,它在 UNIX 操作系统的 finger 后台程序中使用一个 gets 调用作为它的攻击方式之一。很...
  • 函数gets()的用法

    万次阅读 多人点赞 2018-09-24 20:48:43
    gets()函数和scanf()对比 先看代码: #include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt; int main(void){ char a1[10], a2[10],a3[10]; scanf( &amp;amp;amp;quot;%s%s&amp;amp;amp;quot;...
  • Gets和scanf的区别

    万次阅读 多人点赞 2018-09-15 15:26:42
    转载自:Gets和scanf的区别 char s[20]; gets(s); puts(s); gets与scanf输入字符串的方式也非常类似,但是有几个区别: (1) gets的输入分割符只有回车,因此gets是能够读入空格的。如果输入为"hello world"时,...
  • Gets函数

    2017-11-11 16:13:31
    Gets函数 1.功能:接收用户从键盘键入的字符串,直到接收到换行符或者EOF为止,将读取结果存放在()中所指向的数组中。2.一般形式: char string[100]; gets(string);//其中string为字符串变量(字符串数组名或...
  • gets_s

    2020-09-29 16:40:45
    char *gets_s(char *buffer,size_t sizeInCharacters); 其中第二参数就是允许的输入长度bai, 这里的size应该分配为dubuffer-1的长度,因为函数自动为’\0’分配空间的时候会溢出。和gets的区别就是gets读入不限制...
  • gets,gets_s,fgets函数

    千次阅读 2016-05-06 23:09:09
    这次就说一下,gets(),gets_s(),fgets(),;;;;【在某一篇博客上看到的】 C的标准库gets函数不对接受字符串的buffer进行边界检测,会造成越界,从而产生bug; fgets函数,数获取的字符串与gets函数获取的不一样,...
  • gets() 实战

    千次阅读 多人点赞 2019-02-13 16:01:05
    getsgets是用来输入一行字符串的,以“\n”识别输入结束,puts对应一行字符串输出。 用法 char str[100]; gets(str); puts(str); 实战 采用c++编译器提交出现 error: ‘gets’ was not declared in ...
  • getchar与gets

    2019-08-13 01:47:38
    gets前面有scanf("")等时,需要用getchar吃掉回车;而gets,也会吃掉回车 所以当gets gets接连使用时,并不需要getchar吃掉回车;
  • 当前读(db block gets / current gets)与一致读(consistent gets)统称为逻辑读,逻辑读可能需要物理读把块读到cache中。当前读指读现在已提交了的数据,一般在全表扫描读数据字典、更新、删除时发生。一致读指读...
  • Safe gets()-开源

    2021-08-07 14:25:14
    有缺陷的gets() 函数的替代品。 注意:此项目不再维护。
  • GETS V2.4.2 正式版

    2015-04-03 09:18:55
    GETS V2.4.2 正式版
  • 在最开始学习字符串时,我们最常用的输入字符串函数就是——gets(); 这个函数将输入缓冲区中的数据存储到字符型数组中,以换行符结束,并丢弃末尾的换行符添加一个空字符。他解决了scanf("%s",str);以空白符为截至的...
  • c++ gets函数

    千次阅读 2019-10-01 03:41:54
    函数名称:gets函数 函数结构:gets() 所需头文件:#include<cstdio> 函数作用:持续读入,直到遇到换行停止输出。 转载于:https://www.cnblogs.com/lipeiyi520/p/8439377.html...
  • scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串hi hello,则应该使用__gets__函数。  gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能...
  • gets和puts

    2018-03-01 11:27:07
    许多年前,gets()函数就 用于处理这种情况。gets()函数简单易用,它读取整行输入,直至遇到换行 符,然后丢弃换行符,储存其余字符,并在这些字符的末尾添加一个空字符 使其成为一个 C 字符串。它经常和 put.....
  • gets找不到标识符.

    2020-10-17 09:10:36
    gets改为gets_s.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 286,338
精华内容 114,535
关键字:

gets