C++中的string数据类型可以通过格式化输出方式来输出不同类型的数据。下面是C++ string格式化输出的完整攻略:
1.基本的string格式化输出方式
使用%
来指代格式化输出的位置,其中可以使用以下的格式符来输出不同类型的数据:
- %d:输出整数
- %f:输出浮点数
- %s:输出字符串
以下代码演示了基本的string格式化输出方式:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int num = 123;
float f = 1.23;
string str = "Hello World";
string s = "int=%d, float=%.2f, string=%s";
printf(s.c_str(), num, f, str.c_str());
return 0;
}
输出结果:
int=123, float=1.23, string=Hello World
2.格式化输出位置宽度和对齐方式
在输出的格式字符串中可以通过在格式化输出位置前面添加数字来指定输出位置的宽度,将会在后面输出数据前先输出指定数量的空格使得输出达到指定的宽度。在数字和格式化字符之间可以指定对齐方式,可选的对齐方式有:
-
:左对齐+
:右对齐
以下代码演示了如何使用宽度和对齐方式:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s = "12345";
printf("左对齐减号: [%-10s]\n", s.c_str());
printf("右对齐加号: [%+10s]\n", s.c_str());
return 0;
}
输出结果:
左对齐减号: [12345 ]
右对齐加号: [ 12345]
3.格式化输出字符串的长度控制
可以通过在s
字符串中使用.
来设置输出字符串的长度。如:.10
表示输出字符串的宽度为10,不足的情况下使用空格占位符补齐,超过宽度的部分截取掉。使用.s
可以控制输出字符串的宽度为s
的值,不足的情况下使用空格占位符补齐。
以下代码演示了如何使用字符串长度控制:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s = "Hello World";
printf("字符串最多输出10个字符: [%-10.10s]\n", s.c_str());
printf("字符串最多输出12个字符: [%+12s]\n", s.c_str());
return 0;
}
输出结果:
字符串最多输出10个字符: [Hello Worl]
字符串最多输出12个字符: [ Hello World]
综上,以上是C++ string格式化输出方式的完整攻略。通过使用不同的格式符和控制器,可以轻松地输出不同类型的数据,并且可以控制输出的宽度及对齐方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++ string格式化输出方式 - Python技术站