gpt4 book ai didi

c++ - 将加密的 wstring 写入 wofstream

转载 作者:行者123 更新时间:2023-11-28 07:35:53 26 4
gpt4 key购买 nike

我有一个使用 wstring 变量的简单“加密”函数,我想使用 wofstream 将此函数的结果写入文件。

这是我的代码:

void save_file() {
wstring text = L"Text to be encrypted. The text is encrypted but not saved";
wstring enctext = encrypt(text);

wprintf_s(L"%s\n", enctext);
wofstream output_stream;
output_stream.open(L"myfile.enc");
output_stream<< enctext ;
output_stream.close();
}

wstring encrypt(wstring decrypted) {
wstring encrypted;
for (unsigned int i=0; i<decrypted.length(); i++) {
encrypted += wchar_t(int(decrypted[i]) + 128);
}
return encrypted;
}

因此,这段 ... 代码的问题在于,尽管 wprintf_s 函数输出了整个加密文本,但在写入的文件中,我只能看到 ASCII< 中的字符/em> 范围(或者至少在我看来是这样)。保存加密文本,直到发现未知字符(在控制台中显示为?)。我想保存任何字符,并且我希望将它们保存为宽字符(每个字符 1 个字)。我该怎么做?

最佳答案

您需要使用write() 或等效的iostream 来写入二进制数据。 fprintf() 和等价物用于文本(如可读文本,而不是二进制文本)。

关于c++ - 将加密的 wstring 写入 wofstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16776281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com