zoukankan      html  css  js  c++  java
  • scanf格式控制符

    格式控制
    1.
       %d     %o     %x      %c       
       %s     %f     %e      无%u格式、%g格式
    2.
       scanf("%3d%3d", &a, &b); 
       输入:123456  //a=123,b=456
    3.
       scanf("%2d%*3d%2d", &a, &b);
       输入:1234567 //a=12,跳过345,b=67。
    4.
       scanf("%7.2f",&a); //不合法的,不能输入:12345.67使a的值为12345.67。
    数据流分隔
    
    1.类型分隔
        scanf("%d%c%f", &a, &b, &c);
        输入: 12r1234.567 //scanf接收数据时"r"不匹配,于是"12"转[换成]整型赋值给a a=12,b='r',c=1234.567
    
    2.域宽分隔
        scanf("%2d%3f%4f", &a, &b, &c);
        输入:
        123456789012345 //a=12,b=345,c=6789
    
    3.隐示分隔。
        空格、跳格符('	')、换行符('
    ')默认数据分隔符。
    
    4.显示分隔符。
        scanf("a=%d,b=%f,c=%f", &a, &b, &c);
        输入数据应该为:
        a=1234,b=67.8,c=98.123
    数据流中字符控制
        或者说是字符截止条件。
        是则读,否不读,但是剩余字符仍在流中,注意清理。
    
         const char* p = "12232114687ABC12356";
         sscanf(p, "%[123]", buf); // 把是'1'或'2'或'3'的字读读到buf中,buf="1223211",
         123无关顺序,等同于%[1-3]或%[3-1],【-】两端的 字符 为起始字符。
    
         %[3-14]      //%[3214]
    
         %[A-Za-z]    //只取字母
         
         %[^A-Za-z]   //取字母之外的所有字符
         
         "%[a-zA-Z]%[0-9]", buf1, buf2 //"aB12" buf1="aB",buf2="12"
         
         "%[^
    ]"   //取一行字符,但是流中还会存在一个换行,fflush(stdin) or "%[^
    ]%*c";
         
         "%*[^
    ]%*c"  //就表示跳过一行
         
         "%-20[^
    ]"   //就表示读取
    前20个字符。
     
  • 相关阅读:
    Install Java on Ubuntu server
    Java 空引用访问静态不会发生空指针异常
    Java 什么时候使用static
    Java 空指针异常
    java 方法的返回值
    python中直接复制,浅拷贝,深拷贝
    python 操作ppt转换为pdf
    数组排序
    qooxdoo框架环境搭建
    python 链表实现 双向链表和单向循环链表
  • 原文地址:https://www.cnblogs.com/startnow/p/5040092.html
Copyright © 2011-2022 走看看