日食;逃脱序列不起作用?

时间:2018-04-14 12:24:37

标签: c eclipse escaping

我正在做一个基本的C教程。在一个例子中,这段代码用于引入转义序列:

#include <stdio.h>

int main()
{
    printf("This is a \"sample text\"\n");
    printf("\tMore text\n");
    printf("This is getting overwritten\r");
    printf("By this, another sample text\n");
    printf("The spa \bce is removed.\n");
    return 0;
}

控制台输出预计如下所示:

This is a "sample text"
    More text
By this, another sample text
The space is removed.

相反,我明白了:

This is a "sample text"
    More text
This is getting overwritten
By this, another sample text
The spa ce is removed.

我在Windows上使用Eclipse Cpp Oxygen和Cygwin工具链来编译和运行代码。我不知道自己做错了什么,我以为我会在这里寻求帮助。

2 个答案:

答案 0 :(得分:0)

Eclipse内置的控制台不支持\r\b(和\f)个字符。

有一个长期存在的错误76936,已经开放了14年。但看起来并不固定。

答案 1 :(得分:-1)

在linux中,您的示例与您期望的完全一样。可能在windows中,\ r被认为是\ n。 而不是在linux终端上\ r \ n将(正确)光标放在该行的第一个字符上。