zoukankan      html  css  js  c++  java
  • fgets()函数读取键盘,去掉换行符或丢弃多余的字符

    在上一遍随笔中,我们知道可以用fgets()函数来代替不安全的gets()函数。fgets函数中的第二个参数限制了读取的个数。

    上篇文章也提到,fgets是会读取回车换行符的。有时候我们并不希望在字符串中存在换行符。有的时候我们在一行中多输入了几个字符,而这几个字符并不是我们想要的。这时可以写一个小程序解决这个问题

    下面看程序(来自于C Primer Plus 第六版):该程序的功能是:读取输入行,删除存在字符串中的换行符,如果没有换行符,则丢弃数组装不下的字符。

    #include <stdio.h>
    #include <stdlib.h>
    #define NUM 5
    #define SIZE 10
    int main(int argc,char* argv[])
    {
        char src[NUM][SIZE];
        printf("请输入,空行表示结束
    ");
        int i=0;
        while(    (  fgets(src[i],SIZE,stdin) ) !=  NULL    &&   src[i][0]!='
    '    )
        {
            int j=0;
            while(  (src[i][j] != '
    ')   && (src[i][j]  !=   '' )  )
                j++;
            if(src[i][j] ==  '
    ')
                src[i][j]='';
            else
            {
                while( getchar() !='
    '  )
                    continue;
            }
    
    
    
            printf("输入为:%s
    ",src[i]);
            i++;
            if(i>=5)
            {
                break;
            }
        }
        return 0;
    }
  • 相关阅读:
    input type="number"
    Creating Directives that Communicate
    angular Creating a Directive that Adds Event Listeners
    angular 自定义指令 link
    cookie
    angular filter
    angular 倒计时
    angular $watch
    angular 自定义指令
    angular 依赖注入
  • 原文地址:https://www.cnblogs.com/qingergege/p/5925850.html
Copyright © 2011-2022 走看看