如何在字符串中显示字符\ t?

时间:2010-12-07 23:33:31

标签: c literals escaping

所有晚上, 将“\ t”显示为文字值而不是文本格式的正确键序列是什么?

我的代码如下......

非常感谢。

main()
{

  int c;

  while ((c = getchar()) != EOF) {

      if (c == '  ')
          c = "\t";
    putchar(c);
    }

}

所以要澄清一点,我不想有标签字符串,而是显示字符\ t。

6 个答案:

答案 0 :(得分:9)

您可以使用另一个反斜杠转义反斜杠,即"\\t"

顺便说一下,您正在尝试将字符串(即多个字符)分配给int。这没有意义!

答案 1 :(得分:5)

你真的不想要这样的东西吗?

if (c == '\t')
{
    printf("\\t");
}

答案 2 :(得分:1)

转义反斜杠,因此"\\t"

答案 3 :(得分:1)

要按字面意思解释字符/字符串常量中的反斜杠,必须使用另一个反斜杠转义它。此外,单次调用putchar()是不够的,因为您必须打印两个字符。有了这个,你得到:

putchar('\\');
putchar('t');

答案 4 :(得分:0)

你需要逃脱逃脱,如下:

printf("\\t");

这将根据您的需要打印\t

答案 5 :(得分:0)

实际上“\ t”需要显示两个字符。

main()
{

  int c;

  while ((c = getchar()) != EOF) {

      if (c == '  ') {
       putchar('\\');
       putchar('t');
      }
  }

将是这样做的一种方式。 }