c++的os文件读写

news/2024/7/24 2:29:47

一、写入console(文件读取流)

#include <fstream>
#include <string>
#include <iterator>

using namespace std;

int main()
{
   

   // 文件读取数据流
   ifstream is('路径', ios::in);		// 或者 is.open() 打开文件
   				// ios::in :向 console 内读入数据
   				// ios::out :向文件输出数据
   				// ios::trunc :清空文件内容,再写入
   				// ios::app : 向文件末尾追加内容
   				// ios::ate :仅初始时将文件读写指针移动到文末尾,可在任意位置写入数据
   				// ios::binary :以二进制方式读写文件
   1、读取方式
   <1>
   string a;
   is >> a;	// 数据流入变量 a
   <2>
   char *buf;
   is.get()	// 得到第一个字符的 ascii 码值,读取完后第一个字符被删除
   is.get(buf, sizeof(buf), char delim = '\n')	// 向 buf 缓冲区写入内容, delim 为结束分割字符
   is.getline(buf, sizeof(buf), delim = '\n')	// 得到一行数据,写入buf
   /*
   	get() 不提取结束分割字符,在末尾加 '\n', getline() 提取结束分割字符, 但不存入缓存区
   */
   <3>
   is.read(buf, sizeof(buf))	// 将文本内容写入 buf 缓冲区

   2、关闭文件 和 指针偏移
   is.close()
   is.seekg("偏移位数", ios::beg "文件偏移起始位置")	// ios::beg : 移动到文件开头
   						// ios::cur : 当前位置
   						// ios::end : 移动到文件末尾
   
   3、迭代器输入流
   istream_iterator<int> a(cin);	// 读取到非 int 型时截止
   istream_iterator<int>  b;		// 获得流末尾
   
   return 0;
} 

二、输出console(文件写入流)

#include <fstream>
#include <iterator>

using namespace std;

int main()
{
	ofstream os("路径", ios::app); // 或者 os.open() 打开文件

	1、写入方式
	<1>
	string a = "hello";
	os << a;
	<2>
	char *buf;
	os.write(buf, sizeof(buf))
	
	2、指针偏移
	os.seekp("偏移数", ios::beg)

	3、关闭
	os.close()

	4、迭代器输出
	ofstream_iterator<int> c(cout, ios::app);
	/*
		*c = 1;
		++c;	// 指针偏移
		*c = 2;
		++c;
		*c = 3;
		输出结果:1	2	3
	*/
	
	return 0;
}

三、获取输入输出流状态

.good()	: // 返回 true 代表一切正常
.eof()	: // 返回 true 表示到达流的末尾
.fail()	: // 返回 true 表明 IO操作 失败,但流还可以使用
.bad()	: // 返回 true 表明流错误,不可再次使用

http://www.niftyadmin.cn/n/1095617.html

相关文章

IOS第九天(1:QQ聊天界面frame模型)

/// 控制层 #import "HMViewController.h" #import "HMMessageModel.h" #import "HMMessageCell.h" #import "HMMessageFrameModel.h" interface HMViewController ()<UITableViewDataSource,UITableViewDelegate>property (no…

C/C++学习的50个经典网站

C/C是最主要的编程语言。这里列出了50名优秀网站和网页清单&#xff0c;这些网站提供c/c源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C源代码的网站。这不是一个完整的清单&#xff0c;您有建议可以联系我&#xff0c;我将欢迎您的建议&#xff…

win10 系统如何设置环境变量

第一种&#xff1a; 第二种&#xff1a; 在这里输入环境变量 之后按照上述步骤修改path即可

为什么数据库要有主键

主键&#xff1a; 概念 主关键字&#xff08;主键&#xff0c;primary key&#xff09;是被挑选出来&#xff0c;作表的行的惟一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段&#xff0c;也可以由多个字段组成&#xff0c;分别成…

关于MySQL count(distinct) 逻辑的一个bug【转】

本文来自&#xff1a;http://dinglin.iteye.com/blog/1976026#comments 背景 客户报告了一个count(distinct)语句返回结果错误&#xff0c;实际结果存在值&#xff0c;但是用count(distinct)统计后返回的是0。将问题简化后复现如下&#xff0c;影响已知的所有版本。 这里的 set…

数据结构入门进阶必学-图的遍历

图介绍图的抽象数据结构边列表邻接列表邻接图领结矩阵图的遍历深度优先遍历思想深度优先遍历算法步骤图的广度优先搜索(Broad First Search)广度优先遍历算法步骤介绍 在计算机科学中&#xff0c;一个图就是一些顶点的集合&#xff0c;这些顶点通过一系列边结对&#xff08;连…

如何在pycharm中配置anaconda环境

最后配置anaconda环境即可。

能除甲醛的一些植物

除甲醛植物&#xff1a;白掌&#xff1a;抑制人体呼出的废气,如氨气和丙酮.同时它也可以过滤空气中的苯、三氯乙烯和甲醛。吊兰&#xff1a;能吸收空气中95%的一氧化碳和85%的甲醛。芦荟&#xff1a;一盆芦荟相当于九台生物空气清洁器&#xff0c;一盆芦荟可消除一平方米空气中…