二进制文件和文本文件到底有什么区别(权威)

什么是流(stream)?  

   

          流是程序输入或输出的一个连续的字节序列,设备(例如鼠标、键盘、磁盘、屏幕、调制解调器和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现----不一定是物理磁盘文件,还可以是对应于某个输入/输出源的逻辑文件。C语言提供了5种标准的流,你的程序在任何时候都可以使用它们,并且不必打开或关闭它们。以下列出了这5种标准的流。  

  ------------------------------------------------  

          名称                     描     述                         例     子  

  ------------------------------------------------  

          stdin                 标准输入                       键盘  

          stdout               标准输出                         屏幕  

          stderr               标准错误                         屏幕  

          stdprn               标准打印机                     LPT1端口  

          stdaux               标准串行设备                 COM1端口  

  ------------------------------------------------  

          需要注意的是,stdprn和stdaux并不总是预先定义好的,因为LPT1和COM1端口在某些操作系统中是没有意义的,而stdin,stdout和stderr总是预先定义好的。此外,stdin并不一定来自键盘,stdout也并不一定显示在屏幕上,它们都可以重定向到磁盘文件或其它设备上。  

   

          文本模式(textmode)和二进制模式(binarymode)有什么区别?  

   

          流可以分为两种类型:文本流和二进制流。文本流是解释性的,最长可达255个字符,其中回车/换行将被转换为换行符“\n”,(如果以"文本"方式打开一个文件,那么在读字符的时候,系统会把所有的"\r\n"序列转成"\n",在写入时把"\n"转成"\r\n"            archim 's opinion    )。二进制流是非解释性的,一次处理一个字符,并且不转换字符。          

          通常,文本流用来读写标准的文本文件,或者将字符输出到屏幕或打印机,或者接受键盘的输入;而二进制流用来读写二进制文件(例如图形或字处理文档),或者读取鼠标输入,或者读写调制解调器。

你可能感兴趣的:(C++,c,C#)