2014-01-17 23 views
5

经过很长时间我正在编写一个C程序。在编写程序时,我不得不使用换页和垂直标签。所以我在程序中使用了\ f和\ v。换行符( f)和垂直制表符( v)不能在C中工​​作

但是,当运行代码而不是Formfeed和垂直选项卡时,我可以看到男性和女性的符号。我不知道它为什么不起作用。

下面是我的代码示例:

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
    printf("I am \f SpiderCode\n"); 
    printf("I am \v SpiderCode\n"); 
    getch(); 
} 

[注:我使用的Visual Studio 2013为上面的代码]上面的代码

enter image description here

输出

+3

你需要[这](http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Teletype_with_papertape_punch_and_reader.jpg/450px-Teletype_with_papertape_punch_and_reader.jpg)。 –

+0

@HansPassant:哈哈。好的解决方案我打算买这个:p – SpiderCode

+0

在C#中的行为完全一样:) :) – RBT

回答

8

这与你的代码无关,这个是程序输出的显示驱动程序的问题。控制台无法识别'\ f'和'\ v'代码,因此它只是显示相应的字符。 '\ f'映射到一个值为12,'\ v'为11的字符。

在过去,你会有类似ANSI.SYS的东西来识别特殊代码并更新控制台,如更改颜色,移动光标等。

+1

ohh ok得到了点 – SpiderCode

0

当您使用'\ f''\ v'时,它不起作用,因为控制台无法识别它们,而是将它们转换为ANSI字符。所以你不能在屏幕上看到预期的输出。

但是,如果将它们打印在纸上,会对打印机产生影响。