繁体   English   中英

C-从输入流读取,制表符作为空格

[英]C - Read from input stream, tab as spaces

我有些困惑,希望有人可以快速查找一下我在做什么错。 我想让选项卡计为输出而不是选项卡的空间。 在这种情况下,我使用3个空格= 1个制表符。 我假设这可能与我设置第一条while语句有关,因为现在它正在将选项卡作为选项卡读取。

int main()
{
  int i, c;
  int N = 3;

  while ((c = getchar ()) != EOF && c != '\n')
  putchar (c);
  while ((c = getchar()) == '\t')
  for (i=1; i<=N; i++) 
    {
      putchar(' ');
    }
  system("Pause");
}

尝试这个:

int main()
{
    int i, c;
    int N = 3;

    // exit on Ctrl-C
    while((c = getch()) != 3)
    {
        if(c == '\t')
        {
            for(i=1; i<=N; i++)
            {
                putchar(' ');
            }
        }
        else if(c == '\r')
        {
            putchar('\r');
            putchar('\n');
        }
        else
        {
            putchar(c);
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM