• fgets()


    fgets()函数简介

    读字符串函数fgets()的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针),要从键盘输入时文件指针的参数为:stdin ; 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'/0'

    示例分析

    fgets()函数通过2个参数限制读入的字符数来解决溢出的问题。该函数专门设计用于处理文件输入,所以一般情况下可能不太好用。fgets()和gets()的区别如下:

    • fgets()函数的第2个参数指明了读入字符的最大数量。如果该参数的值是n,那么fgets()将读入n-1个字符,或者读到遇到第一个换行符为止。
    • 如果fgets()读到一个换行符,会把它存储在字符串中。这点与gets()不同,gets()会丢弃换行符。
    • fgets()函数的第三个参数指明要读入的文件。如果读入从键盘输入的数据,则以stdin(标准输入)作为参数,该标识定义在stdio.h中。

    因为fgets()函数把换行符放在字符串的末尾(假设输入行不溢出),通常要与fputs()函数(与puts()类似)配对使用,除非该函数不在字符串末尾添加换行符。fgets()函数的第3个参数指明它要写入的文件,如果要显示在计算机显示器上,应使用stdout(标准输出)作为该参数。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #define N 10
     5 
     6 int main()
     7 {
     8     char a[N];
     9     char * p;
    10     
    11     printf("input string:
    ");
    12     fgets(a,sizeof(a),stdin);
    13     
    14     if ((p=(strchr(a,'
    ')))!=NULL)/*fgets不会像gets那样自动地去掉结尾的
    ,所以程序中手动将
    位置处的值变为,代表输入的结束。*/ 
    15     {
    16         *p=0;
    17     }
    18     
    19     printf("string is:
    %s",a);
    20     
    21     return 0;
    22 }
  • 相关阅读:
    【学习笔记】《架构整洁之道》(2)
    【学习笔记】《架构整洁之道》(1)
    《漫长的婚约》
    My 2020 work schedule
    canal-clientadapter 数据同步实验
    confluence异常关闭恢复
    nginx 添加第三方nginx_upstream_check_module 模块实现健康状态检测
    keepalived问题阐述及配置
    keepalived+lvs 部署
    lvs基础
  • 原文地址:https://www.cnblogs.com/hemeiwolong/p/9095942.html
Copyright © 2020-2023  润新知