| |
 
  |  
 
| 
	
开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 
 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁  | 
	 
| -> C++知识库 -> 树莓派-C++之流和文件 -> 正文阅读 | 
|  
 | 
[C++知识库]树莓派-C++之流和文件 | 
| 
 
 2021SC@SDUSC 
 C++流是指信息从外部输入设备(如键盘)向计算机内部(如内存) 输入和从内存向外部输出设备(显示器)输出的过程。这种输入输出的过程
 被形象的比喻为流。 
  
 
 在程序设计中,数据输入/输出(I/O)操作是必不可少的,C++语言的数据输入/输出操作是通过I/O流库来实现的。C++中把数据之间的传输操作称为流,流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流
  
 
 C++输入输出包括三个方面的内容:
  
 ?为了实现数据的有效流动,C++系统提供了庞大的I/O类库,调用不同的类去实现不同的功能。由抽象基类ios直接派生出4个派生类,即istream,ostream,fstreambase和strstreambase。其中fstreambase是文件流类基类,由它再派生出ifstream,ofstream和fstream。strstreambase是字符串流类基类,由它再派生出lstrstream,ostrsCeam和swsWeam类。 对于标准I/O流,?C++编译系统提供了用于输人输出的iostream类库。就例如,cout和cin并不是C++语言中提供的语句,它们是iostream类的对象,在未学习类和对象时,在不致引起误解的前提下,为叙述方便,把它们称为cout语句和cin语句。正如C++并未提供赋值语句,只提供赋值表达式,在赋值表达式后面加分号就成了C++的语句,为方便起见,我们习惯称之为赋值语句。 
  C++标准库提供了 4 个全局流对象 cin、cout、cerr、clog 
   
 
  ? 
  cin : 
  标准输入
  , 
  即数据通过键盘输入到程序中 
   
 
  ? 
  cout : 
  标准输出,即数据从内存流向控制台
  (
  显示器
  ) 
   
 
  ? 
  cerr : 
  标准错误的输出 
   
 
  ? 
  clog : 
  日志的输出 
   
 
  cin 和 cout 是我们熟知的,也是最常用的。而 cout,cerr 和 clog 都是输出流。在早期, 他们是有所区别的, 在输出的优先级有所不同。显然,cerr 级别最高,程序一旦出错,报错一定是优先级最高的。但今天这三种输出的差别越来越小,他们都可以输出数据,不过我们还是习惯使用 cout 而已。
   
  
 
  对于文件输入输出流,fstreambase是文件流类基类,由它再派生出ifstream,ofstream和fstream。
   
 
 打开文件:在从文件读取信息或者向文件写入信息之前,必须先打开文件。ofstream?和?fstream?对象都可以用来打开文件进行写操作,如果只需要打开文件进行读操作,则使用?ifstream?对象。open() 函数是 fstream、ifstream 和 ofstream 对象的一个成员 关闭文件:当 C++ 程序终止时,它会自动关闭刷新所有流,释放所有分配的内存,并关闭所有打开的文件。但程序员应该养成一个好习惯,在程序终止前关闭所有打开的文件。close() 函数是 fstream、ifstream 和 ofstream 对象的一个成员。 写入文件:在 C++ 编程中,我们使用流插入运算符( << )向文件写入信息,就像使用该运算符输出信息到屏幕上一样。唯一不同的是,在这里您使用的是?ofstream?或?fstream?对象,而不是?cout?对象。 读取文件:在 C++ 编程中,我们使用流提取运算符( >> )从文件读取信息,就像使用该运算符从键盘输入信息一样。唯一不同的是,在这里您使用的是?ifstream?或?fstream?对象,而不是?cin?对象。  
  
  
 | 
|  
 | 
| C++知识库 最新文章 | 
| 【C++】友元、嵌套类、异常、RTTI、类型转换 | 
| 通讯录的思路与实现(C语言) | 
| C++PrimerPlus 第七章 函数-C++的编程模块( | 
| Problem C: 算法9-9~9-12:平衡二叉树的基本 | 
| MSVC C++ UTF-8编程 | 
| C++进阶 多态原理 | 
| 简单string类c++实现 | 
| 我的年度总结 | 
| 【C语言】以深厚地基筑伟岸高楼-基础篇(六 | 
| c语言常见错误合集 | 
|  
 | 
| 上一篇文章 下一篇文章 查看所有文章 | 
	
  | 
| 
	
开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 
 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁  | 
	 
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/4 14:07:14- | 
  |  
 
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |