基本读取txt并保存成csv方法
#include <iostream>
#include <fstream>
#include <iomanip> // 用于设置输出的格式
#include <sstream>
using namespace std;
int main() {
//std::ofstream outputFile1("outputexcel.txt", std::ios::binary | std::ios::app); // 追加模式
std::ifstream inputFile("endexcel.txt"); // 替换为你的输入文件名
std::ofstream outputFile("finally.csv"); // 创建输出文件
if (!inputFile.is_open() || !outputFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
int i = 0;
outputFile << "Page,Addr,Value" << std::endl; //示例,前三列第一行的标头
std::string line = "";
while (std::getline(inputFile, line)) {
outputFile << line << std::endl;
}
inputFile.close();
outputFile.close();
system("pause");
return 0;
}
特殊格式的txt文件转成csv文件
每个P50算一页
代码:
#include <iostream>
#include <fstream>
#include <iomanip> // 用于设置输出的格式
#include <sstream>
using namespace std;
int main() {
//std::ofstream outputFile1("outputexcel.txt", std::ios::binary | std::ios::app); // 追加模式
std::ifstream inputFile("endexcel.txt"); // 替换为你的输入文件名
std::ofstream outputFile("finally.csv"); // 创建输出文件
std::ofstream outputFile1("testexcel.txt"); // 创建输出文件
if (!inputFile.is_open() || !outputFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
int i = 0;
outputFile << "Page,Addr,Value" << std::endl;
int hexCounter = 0x0100; // 用于存储递增的16进制数
std::string line="";
while (std::getline(inputFile, line)) {
int length = line.length(); // 计算当前行字符串的长度
i++;
std::string beginFour = line.substr(0, 6);
std::cout << beginFour << std::endl;
std::string middleFour = line.substr(6, 4);
std::cout << middleFour << std::endl;
std::string lastFour = line.substr(length - 4, 4);
std::cout << lastFour << std::endl;
outputFile << beginFour << "," << middleFour << "," << lastFour << std::endl;
outputFile1 << line << std::endl;
beginFour = "";
middleFour = "";
lastFour = "";
line = "";
}
cout <<"数量为:" <<i << endl;
inputFile.close();
outputFile.close();
outputFile1.close();
system("pause");
return 0;
}
成效: