码迷,mamicode.com
首页 > 其他好文 > 详细

scanf sscanf fscanf

时间:2020-01-11 00:31:34      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:scanf   文件输入   返回   image   无法   href   border   code   nbsp   

  1. scanf 从控制台输入   fscanf 从文件输入   sscanf 从指定字符串输入
  2. scanf
    1. 用法为 int scanf(const char * restrict format,...);
    2. scanf 是从标准输入读
    3. scanf一般情况下是碰到空格,制表符以及换行作为输入的结束
    4. 支持正则表达式 格式为  %[]
      1. []内是匹配的字符,^表示求反集,当遇到非集合内的字符时立即终止输入
      2. [a-z]  输入指定范围的小写字母,遇到非法字符立即终止
      3. [0-9] 输入指定范围的数字,遇到非法字符立即终止
      4. %[^a-z] 输入不包括指定字符的字符
      5. %*[a-z0-9] * 表示过滤满足条件的字符,也就是跳过满足条件的字符,其后一定要有新的%语句,否则无法读入
      6. int year,month,day;
        scanf("%d-%d-%d",&year,&month,&day) ;
        cout<<year<<" "<<month<<" "<<day<<endl;
        //输入 2020-1-10   输出 2020 1 10
         
        int income;
        scanf("%*[^0-9]%d",&income);
        cout<<income;
        // 输入 : Today‘s revenue is 3000  输出 : 3000 
        // %*[0-9]过滤了前面的非数字 
        

        char v1[100],v2[100];
        scanf("%[^\n]%*c%[^\n]",v1,v2);
         cout<<v1<<" "<<v2<<endl; 
        //输入 : china 
        //      USA
        //输出;  china USA 
        //%[^\n] 可以读入一行,后面的%*c是为了过滤掉换行符

  3. fscanf
    1. 用法为 int fscanf(文件指针,格式字符串,输入列表);
    2. 返回值为读入的变量个数
    3. 支持的正则表达式与scanf相同

  4. sscanf()

scanf sscanf fscanf

标签:scanf   文件输入   返回   image   无法   href   border   code   nbsp   

原文地址:https://www.cnblogs.com/cyj1258/p/12178466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!