在你的 WriteFile 打电话,你写出来的内容 cipher 变量 ,而不是存储在矢量中的内容。要保存您需要的矢量
WriteFile
cipher
WriteFile(File_Out, cipher.data(), cipher.size(), &tmp, NULL);
和:
WriteFile(File_Out2, recover.data(), recover.size(), &tmp, NULL);
既然你用了 address-of 运算符,这里写另一种方式:
address-of
WriteFile(File_Out, &cipher[0], cipher.size(), &tmp, NULL);
&cipher[0] 是在C ++ 03和C ++ 11中获取非const指针(可写)的唯一方法。 (但是你不需要它,因为const指针(可读)工作正常)。
&cipher[0]