我正在尝试格式化我的字符串,因为我有两个字符串,其中包含:“1”和
第二个包含:“test”并希望输出整个字符串,空格为:
1次测试
我这样说:
printf("%-10s %s", "1", "test");
但如何更改空间“%-10s”而不更改格式?
int amount_of_space = 10;
like: printf("%-*s %s", "1", "test", amount_of_space)
我该怎么办?用C或C ++,请帮帮我
答案 0 :(得分:1)
printf("%-*s %s", amount_of_space, "1", "test" );
答案 1 :(得分:1)
printf("%-*s %s", amount_of_space, "1", "test" ) ;
*首先出现在格式字符串中 - 因此参数amount_of_space
必须在逗号后面。
,即格式字符串中的顺序为*,s& s - 所以在逗号之后,你需要填写*,第一个字符串然后第二个字符串。
答案 2 :(得分:1)
使用这个:
printf("%-*s %s", amount_of_space, "1", "test" );
答案 3 :(得分:0)
在C ++中它将是:
cout << left << setw(amount_of_spaces) << "1" << "test";