c++写数据结构进入文件

以下定义一个数据结构

c 复制代码
struct SData {
	std::string url;
	int number;
	std::string memo;
};

写入文件

c 复制代码
void StorageDataToFile(const std::string& filename, const SData& data) {
   std::ofstream outFile(filename);
   if (outFile.is_open()) {
   	// 使用std::stringstream格式化数据
   	std::stringstream ss;
   	ss << data.url << "," << data.member << "," << data.memo << "\n";
   	// 将格式化后的字符串写入文件
   	outFile << ss.str();

   	outFile.close();
   	AfxMessageBox(L"ok storage") ;
   }
   else {
   	AfxMessageBox(L"error");
   }
}

读取

c 复制代码
UserData ReadDataFromFile(const std::string& filename) {
	SData data;
	std::ifstream inFile(filename);
	if (inFile.is_open()) {
		std::string line;
		getline(inFile, line);
		std::istringstream iss(line);
		if (iss >> data.url>> data.number >> data.memo) {
			inFile.close();
			return userData;
		}
		else {
			AfxMessageBox(L"error");
		}
	}
	else {
		AfxMessageBox(L"error");
	}

	// 如果读取失败,返回默认构造的UserData
	return UserData();
}
相关推荐
懒鸟一枚6 分钟前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
旖-旎1 小时前
《LeetCode647 回文子串 || LeetCode 5 最长回文子串》
c++·算法·leetcode·动态规划·哈希算法
Darkwanderor2 小时前
对Linux的进程控制的研究
linux·运维·c++
我命由我123452 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑2 小时前
Sentinel安装
java·后端·微服务
云泽8082 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
REDcker2 小时前
libdatachannel 快速入门
c++·webrtc·datachannel
凤凰院凶涛QAQ3 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
second604 小时前
第一部分:快速上手 —— 建立 C++ 基本语法与编程范式
开发语言·c++
郝学胜-神的一滴4 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法