0

我正在尝试格式化我的字符串,因为我有两个字符串,其中一个包含:“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++ 中,请帮助我

4

4 回答 4

1

printf("%-*s %s", amount_of_space, "1", "test" );

于 2013-04-20T10:55:29.330 回答
1
printf("%-*s %s", amount_of_space, "1", "test" ) ;

* 在格式字符串中首先出现 - 因此参数amount_of_space必须在逗号之后出现。

即在格式字符串中,顺序是*、s & s - 所以在逗号之后,您需要填写*、第一个字符串和第二个字符串。

于 2013-04-20T10:56:00.127 回答
1

用这个: printf("%-*s %s", amount_of_space, "1", "test" );

于 2013-04-20T10:56:39.437 回答
0

在 C++ 中,它将是:

cout << left << setw(amount_of_spaces) << "1" << "test";
于 2013-04-20T11:06:39.470 回答