【C++——文件操作】

news/2024/9/30 12:28:06 标签: 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.niftyadmin.cn/n/5685100.html

相关文章

Llama微调以及Ollama部署

1 Llama微调 在基础模型的基础上&#xff0c;通过一些特定的数据集&#xff0c;将具有特定功能加在原有的模型上。 1.1 效果对比 特定数据集 未使用微调的基础模型的回答 使用微调后的回答 1.2 基础模型 基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored&#x…

uniapp生物识别示例(人脸识别、指纹识别)

准备工作&#xff1a; mainfest.json设置勾选&#xff1a; 勾选完成后打 App自定义调试基座测试包 示例代码&#xff1a; <template><view class"content"><button v-if"supportSoterAuthenticationArray.includes(facial)" click"…

​IAR全面支持国科环宇AS32X系列RISC-V车规MCU

全球领先的嵌入式系统开发软件解决方案供应商IAR与北京国科环宇科技股份有限公司&#xff08;以下简称”国科环宇”&#xff09;联合宣布&#xff0c;最新版本IAR Embedded Workbench for RISC-V将全面支持国科环宇AS32X系列RISC-V MCU&#xff0c;双方将共同助力中国汽车行业开…

【视频目标分割-2024CVPR】Putting the Object Back into Video Object Segmentation

Cutie 系列文章目录1 摘要2 引言2.1背景和难点2.2 解决方案2.3 成果 3 相关方法3.1 基于记忆的VOS3.2对象级推理3.3 自动视频分割 4 工作方法4.1 overview4.2 对象变换器4.2.1 overview4.2.2 Foreground-Background Masked Attention4.2.3 Positional Embeddings 4.3 Object Me…

损失函数篇 | YOLOv10 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class WIoU_Scale: if monotonous = None , v1if monotonous = True , v…

SVN客户端服务器操作流程

一,SVN服务器的创建库 1, 开始菜单--搜索 visualSvn,点击 VisualSvn Server Manager 2&#xff0c;打开后如下图所示 3&#xff0c;右键--creat new respositories&#xff0c;默认选项&#xff0c;点击 4&#xff0c;填写库名称 5&#xff0c;根据需要选择&#xff0c;点击ne…

进程、线程、协程详解:并发编程的三大武器

在现代计算机科学中,并发编程是一个核心概念,而进程、线程和协程是实现并发的三种主要方式。本文将深入探讨这三种概念,分析它们的特点、优缺点,以及适用场景。 1. 进程 (Process) 1.1 定义 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的…

VUE 开发——AJAX学习(二)

一、Bootstrap弹框 功能&#xff1a;不离开当前页面&#xff0c;显示单独内容&#xff0c;供用户操作 步骤&#xff1a; 引入bootstrap.css和bootstrap.js准备弹框标签&#xff0c;确认结构通过自定义属性&#xff0c;控制弹框显示和隐藏 在<head>部分添加&#xff1a…