わかりましたので、この割り当てを C で行っています。C に c++ の setw のような出力マニピュレータがあるかどうか疑問に思っていました。数値などを操作する方法は知っていますが、一般的な出力を操作する方法はわかりません。例えば
「プロセス」と「カウント」を幅 5 で出力したい:
printf("Process") と printf("count") の間の幅は 5 です。これどうやってするの?
setw(n) があなたが思っているように機能するかどうかはわかりません。この C++ コードをコンパイルして実行すると、. . .
#include <sstream>
#include <iostream>
#include <iomanip>
int main()
{
std::cout << "Process"
<< std::setw(5) << "count" << '\n';
}
次に、この出力が得られます。
プロセス数
setw(10)
代わりに使用すると、この出力が得られます。
プロセス数
C では、printf() を使用して列幅を指定できます。
/* File: code/c/test.c */
#include <stdio.h>
int main(void) {
printf("%s", "Process");
printf("%10s\n", "count");
return 0;
}
最初に「Process」が出力され、次に「count」が 10 文字幅のフィールドに出力されます。文字列「count」自体は 5 文字です。これにより、2 つの文字列の間に 5 つの空白が残ります。
$ gcc -Wall code/c/test.c
$ ./a.out
プロセス数
このようにタブを埋め込むprintf("Process\tcount\n");
と、2 つの単語の間に 5 つの空白ができなくなります。
プロセス数
"process" と "count" の間に \t を追加すると、2 つの文字列の間にタブが挿入されます。
printf("Process\tcount\n");