当前位置: 首页 > article >正文

【C++——文件操作】

写入

#include<iostream>
#include<fstream>       //ofstream所需头文件
using namespace std;

int main()
{
	//一打开文件:
	string str= R"(C:\Users\admin\Desktop\新建文件夹\test.txt)";
	//也可以用C风格字符串
	//打开文件,如果不存在就创建一个。程序在哪个目录执行,文件就生成在哪,也可以传入指定目录,前面+目录即可
	//C:/Users/admin/Desktop/新建文件夹/test.txt
	//C:\\Users\\admin\\Desktop\\新建文件夹\\test.txt
	//R"(C:\Users\admin\Desktop\新建文件夹\test.txt)" 
	// 
	// 三个效果一样   覆盖原始文件
	//ofstream fout(str,ios::out);
	//ofstream fout(str,ios::trunc);
	//ofstream fout(str);            //创建文件输出流对象   也可以open,效果一样fout.open();
	ofstream fout(str,ios::app);     //末尾追加

	//文件可能打开不成功,要判断,否则直接写入数据会报错
	//失败:目录不存在,磁盘已满,没有权限(Linux常见)
	if (fout.is_open() == false) 
		return -1;


	//二写入数据
	fout << "1233" << endl;
	fout << "hhh" << endl;

	fout.close();    //关闭文件,fout对象失效前会自动调用close

	return 0;
}

读取

c++读取文件出现乱码的原因是文本文件的编码格式和cmd的编码方式不一致造成的,修改文本文件编码格式,文本文件的编码格式和cmd的编码方式一致即可

win+r 打开cmd:chcp查看本地cmd编码方式

  • 936:简体中文 GBK 编码。
  • 65001:UTF-8 编码
#include<iostream>
#include<fstream>       //ifstream所需头文件
#include<string>
using namespace std;

int main()
{
	//一打开文件:
	string str= R"(C:\Users\admin\Desktop\新建文件夹\test.txt)";
	//也可以用C风格字符串
	//打开文件,如果不存在就创建一个。程序在哪个目录执行,文件就生成在哪,也可以传入指定目录,前面+目录即可
	//C:/Users/admin/Desktop/新建文件夹/test.txt
	//C:\\Users\\admin\\Desktop\\新建文件夹\\test.txt
	//R"(C:\Users\admin\Desktop\新建文件夹\test.txt)" 
	
	ifstream fin(str,ios::in);
	
	if (fin.is_open() == false) 
		return -1;

	string buffer;  //存放从文件中读取的数据

	//读取数据
	//一次一行
	while (getline(fin, buffer))
		cout << buffer << endl;
	


	fin.close();    //关闭文件,fout对象失效前会自动调用close

	return 0;
}



http://www.kler.cn/news/325697.html

相关文章:

  • Allen Institute for Artificial Intelligence (Ai2) 发布开源多模态语言模型 Molmo
  • Mixture-of-Experts (MoE): 条件计算的诞生与崛起【下篇】
  • 四十四、多云/混合云架构设计(安全与合规策略)
  • watchEffect工作原理
  • docker学习笔记(1.0)
  • 面经4——亚信
  • Visual Studio Code 高级使用技巧:插件推荐、调试技巧与工作流优化
  • 【HTML5】html5开篇基础(5)
  • 怎么屏蔽统计系统统计到的虚假ip
  • 【分布式微服务云原生】探索RPC:远程过程调用的奥秘与技术实现
  • 汽车信息安全 -- 再谈车规MCU的安全启动
  • 【小程序 - 大智慧】Expareser 组件渲染框架
  • CSS学习 - 常用属性
  • python自动更新chromedriver
  • ExpansionPanelList组件的用法
  • 【Android 14源码分析】Activity启动流程-2
  • 大模型使用vLLM推理加速
  • 一篇讲完HTML核心内容
  • 超大规模钢筋计数数据集,共23400组图像,多视角,多角度,多场景,采用voc方式标注 智慧工地资产盘点
  • 【Linux 22】生产者消费者模型
  • 多线程(一):线程的基本特点线程安全问题ThreadRunnable
  • 新买的笔记本电脑如何打开和使用显示卡的问题
  • Windows11系统下Docker环境搭建教程
  • 每天一个数据分析题(四百七十四)- 柱状图
  • golang reflect
  • unity 如何 团队协作避免文件冲突?
  • 企业微信群发系统:精准触达,高效管理的营销新引擎
  • 初识Linux · 地址空间
  • 最新版ChatGPT对话系统源码 Chat Nio系统源码
  • Redis实战--Redis的数据持久化与搭建Redis主从复制模式和搭建Redis的哨兵模式