0

「1」と「1」を含む2つの文字列があるため、文字列をフォーマットしようとしています

「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 です。つまり、カンマの後に、*、最初の文字列、次に 2 番目の文字列を埋める必要があります。

于 2013-04-20T10:56:00.127 に答える
0

C++ では次のようになります。

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