您好,我想使用 ifstream 读取散列值的 txt 文件,并将这些值存储在数组中。
128 位散列字符串 另一个 128 哈希字符串 等等
这是我目前所拥有的:
string line;
ifstream myfile ("username.txt");
vector<string> data_arr;
int i = 0;
if (myfile.is_open())
{
while (myfile.good())
{
getline(myfile, line);
data_arr.push_back(line);
i++;
}
myfile.close();
}
else cout << "Unable to open file";
如何使数组的每个值都为 16 字节长?我猜 getline 对我不起作用,因为散列值可能使换行符标签成为字符的一部分。
无论如何,我希望这是有道理的,(可能没有)因为我是在凌晨 5 点打字的。
最佳答案
如果哈希是没有换行符或空格的存储,你可以尝试这样的事情:
std::vector<char> hash(16);
myfile.read(&hash[0], 16);
data_arr.push_back(std::string(hash.begin(), hash.end());
您还需要检查读取是否成功。
关于c++ - ifstream 用于破坏散列字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658376/