工作日志2016-07-14

字符串格式化,对于液晶显示占位比较有用
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
 
自己尝试的结果为:
%m.ns   m>n时,总共输出m个字符,其中包括n个字符,(m-n)个空格
              m<n时,最多输出n个字节,最少输出m个字节,不够m字节的补空格 
    char str[]="0123456789";
    char str1[]="01";

    printf("%3.5s
",str); //01234
    printf("%5.3s
",str); //__012
    printf("%3.3s
",str); //012
    printf("%5.5s
",str); //01234
    printf("%7.5s
",str); //__01234
    printf("%3.5s
",str1);//_01
    printf("%3.3s
",str1);//_01
    printf("%5.3s
",str1);//___01
 
 
 
原文地址:https://www.cnblogs.com/feifeivictor/p/5669839.html