C++ wstring 到文件而不是字符串

标签 c++ logging wstring

我有一个简单的记录器类,我试图将其变成接受和输出 wstrings 而不是字符串。

标题:

#include <fstream>
using namespace std;

class CLog 
{
  public:
    CLog(wstring filename);
    ~CLog();
    void WriteString(string uString);
  private:
    fstream m_stream;
};

cpp:

#include "stdafx.h";
#include "log.h";

CLog::CLog(wstring uPath) 
{
  m_stream.open(uPath);
}
void CLog::WriteString(string uString)
{
  m_stream << uString.c_str() << endl;
}
CLog::~CLog()
{
  m_stream.close();
}

有人可以建议我应该使用什么来代替 fstream 吗? 我尝试使用 wstringstream,但它甚至没有 .open 来将它输出到文件,所以我认为这是错误的方法。

我想保留它立即写入文件的行为。

最佳答案

我现在使用“wofstream”而不是“fstream”,而且效果很好。

关于C++ wstring 到文件而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830035/

相关文章:

c++ - QProcess::readAllStandardOutput() 和换行符

c++ - Qt布局增加了不必要的空间

c++ - 实现(自动项目: container) in VC2010

c++ - QT3D 中的二维网格

ruby-on-rails - 环境日志文件的默认 Rails 路径

java - log4j.properties 内容是否适合生产环境

java - Log4j PropertyConfigurator.configure() 将不接受 eclipse 中的字符串

C++ 清除 wstring

c++ - 支持和反对在跨平台库中专门支持 std::wstring 的论点

c++ - 如何在 Linux API 中使用 wstring(s)?