如何在C中操纵一般输出(不是数字或变量)?

时间:2015-04-09 04:23:14

标签: c setw

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

我想输出"进程"和"计数"宽度为5:

printf(" Process")然后printf(" count"),它们之间的宽度为5。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

我不确定setw(n)是否像你认为的那样工作。如果您编译并运行此C ++代码。 。

#include <sstream>
#include <iostream>
#include <iomanip>

int main()
{
    std::cout << "Process"
              << std::setw(5) << "count" << '\n';
}

然后你会得到这个输出。

Processcount

改为使用setw(10),您将获得输出。

Process     count

在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
Process     count

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

Process count

答案 1 :(得分:0)

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

printf("Process\tcount\n");