%s格式化输出

%s 正常输出字符串
printf("%s\n", "abcd"); //normal output abcd
%8s 最少输出8位长度的字符串,不够在字符串左侧用空格补充
printf("%8s\n", "abcd"); //normal output ----abcd
%-8s 最少输出8位长度的字符串,不够在字符串右侧用空格补充
printf("%-8s\n", "abcd"); //normal output abcd----
%.2s 最多输出2位长度的字符串
printf("%.2s\n", "abcd"); //normal output ab
%8.2s 最少输出8位,最多输出2位。首先按最多输出处理,截取字符串前两位,然后最少输出处理,由于不够8位,则在左侧用空格补充
printf("%8.2s\n", "abcd"); //normal output ------ab
%-8.2s 最少输出8位,最多输出2位。首先按最多输出处理,截取字符串前两位,然后最少输出处理,由于不够8位,则在右侧用空格补充
printf("%-8.2s\n", "abcd"); //normal output ab------
在C++中,`%s`是格式化说明符,用于格式化输出字符串,常搭配`printf`、`sprintf`等格式化输出函数使用。以下是使用`%s`格式化输出字符串的方法: ### 使用`printf`函数输出字符串 `printf`函数是C语言标准库中的输出函数,可将格式化的字符串输出到标准输出设备(通常是控制台)。使用`%s`作为字符串的格式化说明符,示例代码如下: ```c++ #include <stdio.h> int main() { char str[] = "Hello, World!"; printf("%s\n", str); return 0; } ``` 在上述代码中,`printf("%s\n", str);`这行代码里,`%s`告知`printf`函数要输出一个字符串,`str`是要输出的字符串变量,`\n`是换行符,用于在输出字符串后换行。 ### 使用`sprintf`函数将字符串格式化到字符数组中 `sprintf`函数可以将格式化的字符串存储到一个字符数组中。示例代码如下: ```c++ #include <stdio.h> int main() { char str[50]; char name[] = "Alice"; sprintf(str, "Hello, %s!", name); printf("%s\n", str); return 0; } ``` 在上述代码中,`sprintf(str, "Hello, %s!", name);`将格式化后的字符串存储到`str`数组中,然后使用`printf`函数输出`str`数组的内容。 ### `%s`的修饰符使用 `%s`还支持一些修饰符来控制输出格式: - **场宽修饰**:可以在`%`和`s`之间插入数字表示最大场宽。例如,`%8s`表示输出8个字符的字符串,不够8个字符右对齐;若字符串的长度超过说明的场宽,将按其实际长度输出。示例代码如下: ```c++ #include <stdio.h> int main() { char str1[] = "Hi"; char str2[] = "This is a long string"; printf("%8s\n", str1); printf("%8s\n", str2); return 0; } ``` - **左对齐修饰**:若想控制输出左对齐,可在`%`和字母之间加入一个`-`号,如`%-10s`表示输出10个字符左对齐。示例代码如下: ```c++ #include <stdio.h> int main() { char str[] = "Hi"; printf("%-10s\n", str); return 0; } ``` - **长度范围控制**:如果用浮点数表示字符串的输出格式,小数点后的数字代表最大宽度,小数点前的数字代表最小宽度。例如,`%6.9s`表示显示一个长度不小于6且不大于9的字符串。若大于9,则第9个字符以后的内容将被删除。示例代码如下: ```c++ #include <stdio.h> int main() { char str[] = "abcdefghijklmn"; printf("%6.9s\n", str); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值