使用printf输出各种格式的字符串( 转载)

1.
原样输出字符串:
   
printf("%s", str);

2. 输出指定长度的字符串, 超长时不截断, 不足时右对齐:
    printf("%Ns",
str);            
--N 为指定长度的10进制数值

3. 输出指定长度的字符串, 超长时不截断, 不足时左对齐:
    printf("%-Ns",
str);            --N
为指定长度的10进制数值

4. 输出指定长度的字符串, 超长时截断, 不足时右对齐:
    printf("%N.Ms",
str);           --N
为最终的字符串输出长度
                                   
--M 为从参数字符串中取出的子串长度

5. 输出指定长度的字符串, 超长时截断, 不足时左对齐是:
    printf("%-N.Ms",
str);          --N
为最终的字符串输出长度
                                   
--M
为从参数字符串中取出的子串长度

注意,所谓超长时截断用到的M并不是只在超长时才起作用,而是不管你有没有超长,都必须截取这么长。所以
printf("%-5.2",
"123")的输出为:
12空格空格空格
只截取了2个字符,其他的用空格填补,而且左对齐。

6.
上述N,M是可以动态指定的,方法是用*代替M或者N,然后在参数列表里加上一个数字参数。例子:
printf("%-*.*s",
5,2,"123");与上面的例子效果一样。
printf("%*s", 5, "123");表示输出长度为5,
如果超长也不截断,不够的话填补,右对齐。

时间: 2024-12-16 00:10:44

使用printf输出各种格式的字符串( 转载)的相关文章

Python学习(八) 输出任意格式的字符串以及字符串的切片

在Python中想要输出一句话,如下 1 a='hello world' 2 print a 3 //打印出的是hello world 4 5 print 'hello \n world' 6 //打印出的是 7 //hello 8 //world 9 print '''hello 10 world 11 good 12 bye''' 13 //打印出的是 14 //hello 15 //world 16 //good 17 //bye 如果想要输出换行的字符串,可以再字符串中添加转义字符 '\

printf输出字符串的一些格式

1. 原样输出字符串:    printf("%s", str); 2. 输出指定长度的字符串, 超长时不截断, 不足时右对齐:    printf("%Ns", str);             --N 为指定长度的10进制数值 3. 输出指定长度的字符串, 超长时不截断, 不足时左对齐:    printf("%-Ns", str);            --N 为指定长度的10进制数值 4. 输出指定长度的字符串, 超长时截断, 不足时

Sql Server中日期时间格式化为字符串输出

在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日期时间转字符串的相关知识,接下来就让我们一起来了解一下这部分内容. 日期时间转字符串: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1):

C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点

1 首先介绍几个常用到的转义符 (1)     换行符"\n", ASCII值为10: (2)     回车符"\r", ASCII值为13: (3)     水平制表符"\t", ASCII值为 9: (4)     空字符"\0" ,ASCII值为0: (5)     空:NULL (即为0): (6)     空格键space, ASCII值为32: 2 常用输入输出函数 scanf() , 从缓冲区读入数据,以空格,制

校验字符串是否是JSON格式,将不规则展示的json格式的字符串进行规则展示(json格式化)

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] [html] view plain copy var str = {"code": "","svcname": "","version": "","component": "","category": "","requestMs

printf用法---printf输出固定长度的字符

需要打印一个固定长度的字符 一般可以这么做: void str_print(const char* str, unsigned int str_len) { int i=0; for (; i < str_len; i++) printf("%c", str[i]); printf("\n"); } 但是用一行代码也可以搞定: printf("%.*s\n", str_len, str); printf一般用法: ref : http://

shell之 printf 输出语句

总结: (1)printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度.左右对齐方式等.默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n. (2)%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来. printf 命令模仿 C 程序库(library)里的 printf() 程序. (3)格式化输出,加双引号

c语言的printf输出浮点数的一些问题

在printf时:如果以%f格式输出,将输出8个字节(scanf输入时,%f是4个字节) 在参数入栈时如果是float型或者double型 直接入栈8个字节,此时输出及后续输出都没问题 但如果参数小于8个字节且不是float型:比如int   shor int  ,就会扩展符号位,成为4个字节再入栈,但是输出的是8个字节,所以会读取其他参数的入栈结果 #include <stdio.h> #include <stdlib.h> #include <string.h> i

c与c++中输出字符指针和字符串指针的问题

首先搞清楚在c语言中没有字符串的类型,所以对字符串操作,有两种形式:可以用字符指针,或者字符串数组(这里的指针变量c,系统会为其重新分配内存. c程序示例: 1  #include <stdio.h>  2   3 int main()  4 {  5   char *a="hello";  6   char b[]={'l','i','n','u','x'};  7   char *c=&b[1];  8   9    printf("%c\n"