我想知道使用std :: string和std :: wstring对象写入同一文件是否安全。我有一个这样的代码段:
void foo(std::string&& msg) {
std::ofstream file{ "log.txt", std::ios_base::app };
file << msg << '\n';
}
void foo(std::wstring&& msg) {
std::wofstream file{ "log.txt", std::ios_base::app };
file << msg << '\n';
}
int main() {
foo(std::string{ "sample string text" });
foo(std::wstring{ L"sample wstring text" });
}
我不确定使用此代码时编码是否没有问题,或者在特定情况下可能会出现这些问题。有没有人知道与之相关的危险?