printf对齐
C语言中,将printf函数打印出的字符像表格一样分类对齐。%-10d表示这个字符型占10个字节,负号表示左对齐。即下面表格中的x1位置开始填充。如果是%10d,表示右对齐,即在x10位置对齐。
| x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
#include<stdio.h>
int main(int argc,char **argv)
{
printf("%16s/%-10d %10s\n","1.1.1.1",,"local ip");
printf("%16s/%-10d %10s\n","111.111.111.111",,"remote ip");
return ;
}
运行结果
1.1.1.1/ local ip
111.111.111.111/ remote ip
上面例子中要实现两个printf打印的字符对齐,只能让字符都右对齐。如果要两行字符左对齐。代码修改如下
#include<stdio.h>
int main(int argc,char **argv)
{
printf("%-20s %-10s\n","1.1.1.1/24","local ip");
printf("%-20s %-10s\n","111.111.111.111/24","remote ip");
return ;
}
运行结果
1.1.1.1/ local ip
111.111.111.111/ remote ip
也就是将"1.1.1.1/24"改成字符型的一个整体来排列。
| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 |
| 1 | . | 1 | . | 1 | . | 1 | / | 2 | 4 | l | o | c | a | l | i | p | |||||||||||||
| 1 | 1 | 1 | . | 1 | 1 | 1 | . | 1 | 1 | 1 | . | 1 | 1 | 1 | / | 2 | 4 | r | e | m | o | t | e | i | p |
printf对齐的更多相关文章
- printf 对齐
printf关于对其的问题(参考有关博客加上自己的一些总结) 1.关于左对齐或右对齐问题, 默认的如果%后没有“-”是右对齐的,如果%后跟“0”,不足的个数用0来填充, 例如:printf(&qu ...
- C语言基础(5)-有符号数、无符号数、printf、大小端对齐
1.有符号数和无符号数 有符号数就是最高位为符号位,0代表正数,1代表负数 无符号数最高位不是符号位,而就是数的一部分而已. 1011 1111 0000 1111 1111 0000 1011 10 ...
- linux中通过awk进行文本的对齐格式化处理?awk printf左对齐?
需求描述: 今天在对一个从excel文件中粘出来的内容进行整理的时候,发现格式很乱,就想用awk工具格式化一下,在此记录一下. 操作过程: 1.从excel中复制出来的内容 job_name j ...
- C语言结构体对齐
1.结构体变量中的元素如何访问? (1)数组中元素的访问方式:表面上有2种方式(数组下标方式和指针方式):实质上都是指针方式访问.(2)结构体变量中的元素访问方式:只有一种,用.或者->的方式来 ...
- 关于 printf() 函数的三张表格
函数原型: printf(Control-String, item1, item2, ...); 表一 转换说明符及作为结果的打印输出 转 换 说 明 输 出 %a 浮点数.十六进制数字和p- ...
- C++结构体内存对齐跨平台测试
测试1,不规则对齐数据. Code: #include <stdio.h> #pragma pack(push) #pragma pack(8) struct Test8 { char a ...
- 可变参数列表与printf()函数的实现
问题 当我们刚开始学习C语言的时候,就接触到printf()函数,可是当时"道行"不深或许不够细心留意,又或者我们理所当然地认为库函数规定这样就是这样,没有发现这个函数与普通的函数 ...
- Linux C 字符串输出函数 puts()、fputs()、printf() 详解
一.puts() 函数详解 puts()函数用来向 标准输出设备 (屏幕)写字符串并换行,调用格式为: puts(s); 其中s为字符串变量(字符串数组名或字符串指针). puts()函数的作用与语 ...
- shell--4.echo和printf
1. echo (1) echo ,显示普通字符串 echo "HelloWorld" 打印:HelloWorld (2) \ ,显示转义字符串 echo "\" ...
随机推荐
- Tween公式 以及四个参数
Tween的主页在这里:http://createjs.com/tweenjs , 这里边还有挺多开源项目的: Tween公式 4个参数 t:current time(当前时间) b:beginnin ...
- OC中的多继承
可以间接实现,方法有: 1.消息转发 2.协议 3.组合模式 4.代理 5.分类 直接上code,分别说明集中方法的实现 一.消息转发 消息转发可以参考我的另外一篇博客:http://www.cnbl ...
- FREEBSD手工配置网络
在FreeBSD系统中,网络能力十分重要,对于一个标准的FreeBSD系统,至少要有一个网络界面以便与其他计算机通信.最常见的网络界面为以太网卡.此外FreeBSD也支持Token Ring和FDDI ...
- Windows API Hooking in Python
catalogue . 相关基础知识 . Deviare API Hook Overview . 使用ctypes调用Windows API . pydbg . winappdbg . dll inj ...
- Oracle 查询表中字段里数据是否有重复
1.查找单个字段 select 字段名,count(*) from table group by 字段名 having count(*) > 1 2.查找组合字段: SELECT TEST_NA ...
- Java NIO浅析
NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接 ...
- Linux磁盘分区及配额123
实验目的: 在现有磁盘的基础上进行分区格式化并为特定用户实施磁盘配额,使其对磁盘这一分区的写入有一定的限制 前期准备: 在我的虚拟机rhel7上有/dev/sda这一分区和fsy这一用户,我将对/de ...
- Linux--Tail命令
inux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案 ...
- Swift中类与结构的初始化
前言:通过学习与研究swift3.0的官方文档关于初始化这部分可以总结为一句话:类与结构是确保一个类型的实例可以使用之前,其所有存储属性都得到了正确的赋值. 一,结构的初始化1 struct Firs ...
- 【原创】贴个dirtycow(脏牛漏洞)不死机的exploit
dirtycow官网上几个获得rootshell的exp大都会导致机器死机,在原作者的基础上改进了一下,做个记录: /* * (un)comment correct payload first (x8 ...