0
点赞
收藏
分享

微信扫一扫

C++---打开txt文件进行字符串的查找替换最终生成Excel文件


#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
#include <iomanip>

using namespace std;

void findAndReplaceAll(string& source, const string& find, const string& replace) {
	size_t startPos = 0;
	while ((startPos = source.find(find, startPos)) != string::npos) {
		source.replace(startPos, find.length(), replace);
		startPos += replace.length();
	}
}

int main() {
	// 输入的txt文件路径
	//string inputFilePath = "D:/C++---无人机/CODE/strAndFileTest/file/in.txt";
	string inputFilePath = "D:/C++---file/in.txt";

	// 输出的Excel文件路径
	string outputFilePath = "D:\\C++---file\\out.csv";

	// 打开txt文件
	ifstream inputFile(inputFilePath.c_str());  // 修改此处

	// 检查文件是否成功打开
	if (!inputFile.is_open()) {
		cerr << "无法打开文件: " << inputFilePath << endl;
		perror("打开文件失败的原因");
		return 1; // 退出程序,返回错误码
	}

	// 读取文件的每一行并进行查找和替换操作
	vector<string> lines;
	string line;
	while (getline(inputFile, line)) {
		// 连续查找和替换的字符串
		string find1 = "a";
		string replace1 = "b";
		string find2 = "mm";
		string replace2 = "xx";

		// 连续查找和替换操作
		findAndReplaceAll(line, find1, replace1);
		findAndReplaceAll(line, find2, replace2);

		// 存储处理后的每一行
		lines.push_back(line);
	}

	// 关闭txt文件
	inputFile.close();

	// 打开Excel文件进行写入
	ofstream outputFile(outputFilePath.c_str());  // 修改此处

	// 检查文件是否成功打开
	if (!outputFile.is_open()) {
		cerr << "无法打开文件以写入: " << outputFilePath << endl;
		return 1; // 退出程序,返回错误码
	}

	// 写入Excel文件,使用逗号分隔值(CSV)格式
	for (size_t i = 0; i < lines.size(); ++i) {
		outputFile << lines[i] << endl;
	}

	// 关闭Excel文件
	outputFile.close();

	cout << "Excel文件生成完成。" << endl;

	return 0; // 程序正常退出
}

源文件

C++---打开txt文件进行字符串的查找替换最终生成Excel文件_txt文件

生成后的文件

C++---打开txt文件进行字符串的查找替换最终生成Excel文件_开发语言_02


举报

相关推荐

0 条评论