栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++IO风格输入输出流

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++IO风格输入输出流

有这三个输出的写法,cout,clog,cerr这三个。cout可以直接输出到磁盘里

clog和cerr的差别在于,cerr是直接输出的,clog还会进行缓存。

读写文件

ifstream写文件(其实ifstream是可读可写的)

ofstream读文件

创建并写入文件

	char buffer[1024];
	ofstream file;
	file.open("ok.txt",ios::app);//这边这个ios::app是表示追加的意思,如果还要添加内容追加到后面

	
	cout << "开始写入信息" << endl;
	cin.getline(buffer, 1024);
	file << buffer << endl;
	
	file.close();
	system("pause");
	return 0;

读取文件的两种写法,一种是只读取一行,一种是能完整的读取出来

//读取一行
ifstream Readfile;
Readfile.open("ok.txt");
cout << "read information";
 Readfile >> buffer;
cout << buffer << endl;
char buffer2[1024] = {0};
	Readfile.seekg(0, ios::end);// 先将游标移动到最后的位置
 	int filelen=Readfile.tellg();//文件长度
	Readfile.seekg(0, ios::beg);//将游标移到最前面,通过动游标获取长度
	Readfile.read(buffer2, filelen);
	cout << buffer2 << endl;

几个标签

ios::app这个的意思表示的是可以在文件里面追加输入内容。

ios:ate表示的是游标会自动定位到内容末尾。

ios::in用于读取文件,不能写入

ios::out表示的是写入文件

ios::trunc截断,如果文件存在,先将该文件删除,再创建。

ios::out|ios::app表示的是文件可以追加写入

复制文件

bool filecopy(const char*incopyfilename, const char*intargetfilename)
{
	char buffer[4096] = { 0 };
	ifstream ireadfile;
	ofstream wwritefile;
	ireadfile.open(incopyfilename);
	wwritefile.open(intargetfilename);//没用就创建一个
	
	ireadfile.seekg(0, ios::end);// 先将游标移动到最后的位置
	int filelen = ireadfile.tellg();//文件长度
	ireadfile.seekg(0, ios::beg);//将游标移到最前面
	ireadfile.read(buffer, filelen);
	wwritefile << buffer;

	
	ireadfile.close();
     wwritefile.close();
	 return true;
 }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917042.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号