Ascii .txt文件到字节数组 - C++

Ascii .txt file to array of bytes - C++

本文关键字:C++ 数组 到字节 txt 文件 Ascii      更新时间:2023-10-16

如何在 c++ 中将 ascii .txt 文件转换为字节数组? 例如,给定 XYZ 坐标的.txt文件,将其转换为浮点表示的字节数组:

253.9999929 58.0428367 -21.3930063253
.9999929 59.0435773 -21.2499391255
...

转换为

bytes array[] = {
01000011,01111110,00000000,00000000,
01000010,01101000,00101011,11011101,
11000001,10101011,00100100,11100001,
00111111,01111111,11111111,10001001... etc
}

我想过将字符串中的每个数字转换为浮点数,然后提取二进制表示;但是,我不确定这是否有效。我需要使用包含 200000-1400000 行 XYZ 数据的 .txt 文件大规模执行此操作。

谢谢!

也许是这样:

struct xyz{
float x;
float y;
float z;
};
istream& operator >>(istream & is, xyz & v) {
return is >> v.x >> v.y >> v.z;
}
std::ifstream f{"floats.txt"};
vector<xyz> floats;
copy(istream_iterator<xyz>{f}, {}, inserter(floats, end(floats)));