C与C++输入输出流符号“《”和“》”的理解(傻瓜式解说)

编程入门 行业动态 更新时间:2024-10-12 01:27:38

C与C++<a href=https://www.elefans.com/category/jswz/34/1765849.html style=输入输出流符号“《”和“》”的理解(傻瓜式解说)"/>

C与C++输入输出流符号“《”和“》”的理解(傻瓜式解说)

刚开始接触程序的同学,应该经常会写带有输入输出流符号“<<”和“>>”语句,很容易将"<<"和“>>”混淆,我讲一下自己的体会,或许会对新手有点帮助。

一、对 "<<"的理解

  • cout <<"i_am_cout";

此语句将在屏幕上打印出“i_am_cout”的字符串。

接下来拆分该语句,解释一下各部分的意思:

  •   cout :可以傻瓜似的理解为一个播音员,这个播音员可以是屏幕也可以是文件
  •    <<  :从左向右看,其形状渐变大,有扩散之意,可以想象为一个扩音的喇叭
  • “i_am_cout”  :一串字符

这几部分合起来的意思就是说,cout这个播音员要把一串字符播出到屏幕或者文件上。那么到底是输出到屏幕上还是文件上呢?就要看喇叭符号"<<"左边具体是什么了,在此示例中,"<<"左边是cout,即与屏幕有关。因此可以这样理解:屏幕要播音了,它准备将一串字符播出来。那么它播出来的结果是什么呢?想一想便知道,如果我们站在屏幕的角度,“播出一串字符”就意味着将一串字符挨个蹦到显示屏上显示。如果站在我们人的角度,就看到有一串字符显示在了显示器上。

 

再举一个例子:

ofstream fout( "E:\\mytest.txt" ); fout << "i_am_fout"<< endl; fout.close();//关闭文件输出流
  • ofstream:out file stream的缩写,指以文件输出流的方式打开文件,如果文件不存在,将会创建该文件。
  • fout: 输出流对象
  • << : 如上例,是扩音的喇叭
  • "i_am_fout": 一串字符

这几部分合起来的意思就是说,fout这个播音员要把一串字符播出到屏幕或者文件上。那么到底是输出到屏幕上还是文件上呢?就要看喇叭符号"<<"左边具体是什么了,在此示例中,"<<"左边是fout,fout是文件对象。因此可以这样理解:文件要播音了,它准备将一串字符播出来。那么它播出来的结果是什么呢?想一想便知道,如果我们站在文件的角度,“播出一串字符”就意味着将一串字符挨个蹦到文件上(mytest.txt)显示。如果站在我们人的角度,当我们打开mytest.txt这个文件,就看到有一串字符显示在了文件中。

 

 

 

 

二、对 ">>"的理解

string  i_am_cin;   
cin >> i_am_cin;

 此语句将把用户在屏幕上输入的字符串写入到变量“i_am_cin”中。

接下来拆分该语句,解释一下各部分的意思:

  •   cin :可以傻瓜似的理解为一个写入员,这写入员可以是屏幕也可以是文件
  •    >> :从左向右看,其形状渐变小,有压缩、收纳、汇合之意,仿佛百川''入"海,可以想象为一个将信息写入的写入员
  • “i_am_cin”  :一串字符

这几部分合起来的意思就是说,cin这个写入员要把一串字符写入到屏幕或者文件上。那么到底是写入到屏幕上还是文件上呢?就要看写入符号">>"左边具体是什么了,在此示例中,">>"左边是cout,即与屏幕有关。因此可以这样理解:屏幕要写入了,它准备将一串字符写进去,哪串字符呢?回答是用户输入到屏幕上的字符。那么它写入的结果是什么呢?想一想便知道,如果我们站在屏幕的角度,“写入一串字符”就意味着当用户在屏幕上输入了一串字符并点击回车后,屏幕要将一串字符的值写入到变量i_am_cin中存储起来。如果站在我们人的角度,并没有看到屏幕上出现字符串等的现象,但是实际上刚才输到屏幕上的字符串已经存到i_am_cin这个变量里了。

 

再举一个例子:

ifstream fin("E:\\mytest.txt" );   
string buffer;             
fin >> buffer;  
fin.close();  
  • ifstream:in file stream的缩写,指以文件输入流的方式打开文件。
  • fin: 输入流对象
  • >> : 如上例,是写入员
  • "i_am_fin": 一串字符

这几部分合起来的意思就是说,cin这个写入员要把一串字符写入到屏幕或者文件上。那么到底是写入到屏幕上还是文件上呢?就要看写入符号">>"左边具体是什么了,在此示例中,">>"左边是fin,即是文件流对象。因此可以这样理解:文件要写入了,它准备将一串字符写进去,哪串字符呢,回答是文件中已经存在的字符。那么它写入的结果是什么呢?想一想便知道,这里的写入是指将一串字符写入到buffer中。

TIP:如果按照这个例子,当mytest.txt中有多行内容时,会发现buffer只存储了第一行的内容(第一个空格前的内容)。如果想读取全部的内容,可以这样写:

ifstream fin("E:\\mytest.txt" );   
char buffer[80];             
fin.read(buffer,80);
fin.close();  

 

 

 

三、对 "输入","输出" 的理解

长短相形,高下相倾,a->b,如果站在a的角度是输出,如果站在b的角度是输入,所站的角度不同,结果便不同,因此平常在说输入输出流的时候,其实大家有一个默认的角度,如果不知道默认的角度,就会混淆,所以我们应该要明确默认的角度。

 可以这么考虑:从计算机的物理结构来看,内存处在机器内部,屏幕和文件处在外部;

从内部到外部叫做输出,仿佛罪犯由囚笼走出,不再聚囚笼内,因此叫“出”。

从外部到内部叫输入,仿佛刺从外部扎入人体,因此叫“入”。

更多推荐

C与C++输入输出流符号“《”和“》”的理解(傻瓜式解说)

本文发布于:2024-03-05 10:53:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1712094.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:输入输出   符号   傻瓜式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!