2

こんにちは私は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時にこれを入力しているので、これが理にかなっていることを願っています(おそらくそうではありません)。

4

1 に答える 1

1

ハッシュが改行記号またはスペースのないストアである場合は、次のように試すことができます。

std::vector<char> hash(16);
myfile.read(&hash[0], 16);
data_arr.push_back(std::string(hash.begin(), hash.end());

また、読み取りが成功したかどうかを確認する必要があります。

于 2012-12-01T10:41:28.513 に答える