当前位置:编程学习 > C/C++ >>

请问C语言中的\\t在C++中怎么表示啊?

\
在C++中用endl,那么\\t在C++中有特殊的表示么?
答案:楼主,就像楼上说的,转义字符无论是在c/c++都是通用的。\\t是制表符,在C++中通用。

下面,偶来具体解释下\
、endl和flush函数的不同。
有提到C++中的流,如cout等:

1、\
和endl区别在于:

\
只代表换行的转义字符
endl除了代表换行,还紧跟着清除缓冲槽,即清除缓冲区的内容


2、具体\
和endl内容的辨析:

要明白\
和endl的区别,首先要明白一个概念:输出流。

目前输出流的类型很多,有对文件作为目标输出的,有对显示屏(Console间接输出)进行输出的。也有输出到其他抽象结构的。

cout的意思是console-output:控制台输出.
但是它的机制还远没有我们想的那么简单,<<后面跟着写什么就直接输出到屏幕什么?不是这样的。

就拿cout<<"Hi,zw.\
"<<endl;来说,cout代表后面的内容输出到控制台的一个缓冲槽,而不是控制台(黑屏幕的那个).

缓冲槽在什么情况下会把缓冲槽的内容输出到控制台的【屏幕界面】呢?当遇到endl或者其他fflush之类的命令或函数时,缓冲槽里的内容会按照顺序输出到控制台,再由控制台进行转意字符的识别打印。

3、flush函数

在C++中,可以使用flush函数来清空缓冲区,即使缓冲区中的数据不是满的。与endl控制符不同的是,flush函数并不是把光标移到下一行的开头处。

使用flush函数的语法是:

ostreamVar.flush();

这里ostreamVar是输出流变量,例如cout 。

与endl一样,flush可以作为控制符使用。在这种情况下,flush使用在输出语句中,并不加括号。
例如,下面的语句将数据从缓冲区写到标准输出设备:

cout<<flush;

例:考虑下面的语句,其中num是int类型变量:

cout<<”enter an integer:”;

cin>>num;

cout<<endl;

第一行语句输出文字:“enter an integer:”。在输出这一行文字后,光标停留在冒号后面的位置上。注意,第1行语句的输出首先被送到缓冲区中。如果缓冲区中的数据没有存满,那么这行提示文字就不会显示出来。这时用户也就不知道下一步应该做什么。可以在第1行语句后面使用endl控制符。但是如果这样做,在输出这行文字后,光标将被移到下一行的开头处,用户也就必须在下一行中输入数字。而这样做并不是最恰当的。还可以使用下面的语句替换掉1行语句:

cout<<”enter an integer:”<<flush;

在这种情况下,文字行“enter an integer:”,即使在缓冲区数据没有存满时也会立即被输出到标准输出设备上。而且,在输出这行文本后,光标将停留在分号的下一个位置上。用户将在分号后面输入数字。你什么意思?
'\'在C++中用'\\'表示
'\\t'在C++中表示是'\t' 

上一个:如何用multiSIM 2001进行C语言编程的80C52单片机仿真
下一个:求救:C语言判断是一年中的第几天

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,