#include <stdio.h>
#include <string.h> int main()
{
const char the_text[] = "this is test text!"; // 在C 语言中输出等宽度的显示我们一般采用的是在前面加数字的方法,
printf("%30s\n", the_text); // 右对齐输出,结果:" this is test text!"
printf("%-30s\n", the_text); // 左对齐输出,结果:"this is test text! " // 其实C 语言还对printf() 提供了一种动态添加的方法,也就是可以使用变量的方法来
// 设置该宽度,这样就大大提高了等宽度输出的灵活性。 const char text_char[] = "char";
const char text_char_var[] = "m_ch_var";
const char text_char_ptr[] = "m_ch_ptr";
const char text_int32[] = "int32_t";
const char text_int32_var[] = "m_nvar";
const char text_int32_ptr[] = "m_pvar"; printf("%s %*s%s;\n", text_char, - strlen(text_char), "", text_char_var);
printf("%s*%*s%s;\n", text_char, - strlen(text_char), "", text_char_ptr);
printf("%s %*s%s;\n", text_int32, - strlen(text_int32), "", text_int32_var);
printf("%s*%*s%s;\n", text_int32, - strlen(text_int32), "", text_int32_ptr);
// (13 + ...) 的结果是"std::vector<%s>" 的总字节宽度
printf("std::vector<%s> %*s%s;\n",
text_char, - ( + strlen(text_char)), "", "m_vec_var"); /*
// 输出的结果如下:
char m_ch_var;
char* m_ch_ptr;
int32_t m_nvar;
int32_t* m_pvar;
std::vector<char> m_vec_var;
*/ // 对于字符串而言,还可以使用"%.*s" 限制输出字符串的最大长度,即:可以将"char", 限制只输出"ch",或者"cha".
printf("%.*s, end.\n", , the_text);
printf("%.*s, end.\n", , the_text);
printf("%.*s, end.\n", , the_text);
printf("%.*s, end.\n", , the_text); /*
// 输出结果如下:
t, end.
th, end.
thi, end.
this is , end.
*/ // 同时在前面再加上一个* 就跟上面的意义一样,设置输出宽度
printf("%*.*s, end.\n", , , the_text);
printf("%*.*s, end.\n", , , the_text);
printf("%*.*s, end.\n", , , the_text);
printf("%*.*s, end.\n", , , the_text); /*
// 输出结果如下:
t, end.
th, end.
thi, end.
this is , end.
*/ // 以上的方法同样可针对浮点数,特别是"%*.*lf",应该特别有用。 return ;
}

printf("%*s\n", 1, ""); 使用"printf();" 的格式化输出动态制定等宽度输出。的更多相关文章

  1. 与C中printf并列的System.out.printf 用法(转载)

    转载地址: https://blog.csdn.net/qq_39017218/article/details/80042287 printf的格式控制的完整格式: %  -  0  m.n  l或h ...

  2. C printf按8进制、10进制、16进制输出以及高位补0

    ; /*按整型输出,默认右对齐*/ printf("%d\n",PrintVal); /*按整型输出,补齐4位的宽度,补齐位为空格,默认右对齐*/ printf("%4d ...

  3. printf("%d",5.01)和printf("%f",5)的输出结果

    printf(); printf("%d\n",5.01); printf(); printf(.f); 输出结果: 看到结果,会感觉非常奇怪.1处怎么会输出0呢?2又为何会显示这 ...

  4. printf 参数检查 __attribute__((format(printf, 1, 2)))

    With GCC, I can specify __attribute__((format(printf, 1, 2))) , telling the compiler that this funct ...

  5. c++ Cout 输出格式

    控制符是在头文件iomanip.h中定义的对象.使用前必须把iomanip.h包含进来 1. I/O的书写格式 I/0流是输入或输出的一系列字节,当程序需要在屏幕上显示输出时,可以使用插入操作符“&l ...

  6. C语言之顺序结构

    该章内容:这章我们学习三大结构之一:顺序结构,它是程序从上往下顺序执行,是程序运行最简单的方式.printf和scanf函数使用和特例是必考知识.本章是考试的重点章节. 学习方法:从简单的顺序结构题目 ...

  7. 关于printf错用格式化字符串导致double和long double输出错误的小随笔

    [题外话] 以前用HUSTOJ给学校搭建Online Judge,所有的评测都是在Linux下进行的.后来为了好往学校服务器上部署,所以大家重新做了一套Online Judge,Web和Judge都是 ...

  8. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

  9. 【Shell脚本学习15】shell printf命令:格式化输出语句

    printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...

随机推荐

  1. Python 列表如何获得一个指定元素所在的下标

    在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...

  2. Oracle数据库—— PL/SQL进阶编程

    一.涉及内容 1.掌握PL/SQL程序块的结构 2.理解并熟练掌握各种变量的应用. 二.具体操作 1.创建一个表messages,该表只有一个字段results 类型是number(2),编写一个块, ...

  3. ibats注意

    <isNotEqual property="id" compareValue="0" prepend="and">id=#id# ...

  4. innertext与innerhtml

    <div id="test"> <span style="color:red">test1</span> test2 < ...

  5. mysql中一对一,一对多,多对多关系

    打个比方吧一个班级有很多学生,他们分别有不同的学号.一个学生对应一个学号,一个学号对应一个学生:这里学生和学号的关系就是一对一.一个班级有很多学生,这个班级只有一个班主任.一个班主任对应多个学生,多个 ...

  6. [Hibernate] - Annotations

    Hibernate使用Annotations最简单例子: hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8 ...

  7. c# 中的多线程和异步

    前言: 1.异步和多线程有区别吗? 答案:多线程可以说是实现异步的一种方法方法,两者的共同目的:使主线程保持对用户操作的实时响应,如点击.拖拽.输入字符等.使主程序看起来实时都保持着等待用户响应的状态 ...

  8. (转)C# wnform 请求http ( get , post 两种方式 )

    本文转载自:http://www.cnblogs.com/hailexuexi/archive/2011/03/04/1970926.html 1.Get请求 string strURL = &quo ...

  9. 【PDF】java使用Itext生成pdf文档--详解

    [API接口]  一.Itext简介 API地址:javadoc/index.html:如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/ ...

  10. POI按照源单元格设置目标单元格格式

    原文:http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式 poi按照一个源单 ...