0

好的,所以我在 C 中做这个作业,我想知道 C 是否有像 c++ 中的 setw 这样的输出操纵器?我知道如何操作数字和东西,但我不知道如何操作一般输出。例如

我想输出宽度为 5 的“进程”和“计数”:

printf("Process") 和 printf("count") 之间的宽度为 5。我怎样才能做到这一点?

4

2 回答 2

1

我不确定 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”,然后在 10 个字符宽的字段中打印“count”。字符串“count”本身是五个字符。这在两个字符串之间留下了五个空格。

$ gcc -Wall code/c/test.c
$ ./a.out
进程计数

嵌入这样的标签printf("Process\tcount\n");不会在两个单词之间留出五个空格。

进程计数
于 2015-04-09T04:41:47.393 回答
0

通过在“process”和“count”之间添加一个 \t 将在两个字符串之间放置一个制表符。

printf("Process\tcount\n");
于 2015-04-09T04:37:34.553 回答