源文件
#include <iostream>
#include <fstream>
#include <sstream>
#include <cmath>
void convert2() {
// 打开输入文本文件
std::ifstream inputFile("mask.txt");
// 打开输出二进制文件
std::ofstream outputFile("mask.dat", std::ios::binary | std::ios::out | std::ios::trunc);
if (inputFile.is_open() && outputFile.is_open()) {
std::string line;
while (std::getline(inputFile, line)) {
std::istringstream iss(line);
std::string number;
while (std::getline(iss, number, ',')) {
// 将每个数字转换为2进制表示,占1字节
int decimalValue = floor(std::stoi(number) / 256.0);
char binaryValue = static_cast<char>(decimalValue);
// 写入二进制数据到输出文件
outputFile.write(&binaryValue, sizeof(char));
}
}
// 关闭文件
inputFile.close();
outputFile.close();
std::cout << "转换完成。输出文件为mask.dat" << std::endl;
}
else {
std::cerr << "无法打开文件。请确保输入文件存在并且可读。" << std::endl;
}
}