zoukankan      html  css  js  c++  java
  • gets--vs--fgets

    gets  fget的区别

       这两个函数都能从标准的输入流中读取信息,比如从键盘中输入信息,但是有些区别。

         使用gets当输入的字符多于预定个数时候,会造成溢出,程序报错。 

    int main(int argc, const char * argv[]) {
    
        char search_for[10];
        
        printf("Search for:");
        
        gets(search_for);
        
        printf("str is %s",search_for);
        
        return 0;
    }

        但是使用fgets能够解决这个问题,当超出时候,会自动截取。需要注意的地方是fgets只能获取n-1个字符,如下面的例子,字符数组的长度是10,但是能够接受的字符个数

    只有9个,因为最后的一个字符结尾还需要一个结束符号''.

        char search_for[10];
        
        printf("Search for:");
        
        fgets(search_for,sizeof(search_for),stdin);
        
        printf("str is %s",search_for);
        
        return 0;
    }

        

  • 相关阅读:
    C语言编程如何实现输出一个回型递增的N阶矩阵(螺旋矩阵)
    cookie测试要点
    一个网页怎么开展测试
    web和app区别
    app功能测试
    复习Linux笔记
    学习python
    微信小程序测试流程
    Redis
    记录
  • 原文地址:https://www.cnblogs.com/webclz/p/5468118.html
Copyright © 2011-2022 走看看