【问题标题】:Cannot write files using ofstream无法使用 ofstream 写入文件
【发布时间】:2014-08-22 11:32:11
【问题描述】:

我的代码有问题,我基本上想将文件写入路径,但它似乎不起作用。代码如下:

void WriteOnFile(const char *path)
{
    ofstream filetolog;
    filetolog.open(path);
    if (filetolog)
        filetolog<< "--[[ Test ]]\n";
}

然后我像这样调用 WriteOnFile:

WriteOnFile("C:/Logs/lua/testing/filename.lua");

但它不起作用。我也试过没有if (filetolog),但它是一样的。 谁能帮帮我?

【问题讨论】:

  • 检查(filetolog.is_open()) 是否为真。
  • 您是否在询问会导致ofstream::open 失败的所有情况?我猜“它不起作用”意味着您的 if 评估为假。你说的是这个吗?
  • 这里有一个类似的主题和一个可行的解决方案,希望这会有所帮助! stackoverflow.com/questions/9739948/…

标签: c++ file filestream


【解决方案1】:

如果“c:/Logs”、“c:/Logs/lua”、“c:/Logs/lua/testing”文件夹之一不存在,您的代码将不会创建该文件。

【讨论】:

  • 好的,但是有没有办法用一个函数创建所有的 throses 文件夹? (因为 WriteOnFile 使用我不知道的文件夹名称调用)
  • 没有使用 C++ 创建文件夹的可移植标准方法。也许,最简单的非便携式 Windows 方式是 system("mkdir" + strPath)。但是请注意,此处的 strPath 必须使用反斜杠而不是斜杠来分隔文件夹名称。更复杂的Windows方式请看stackoverflow.com/questions/1530760/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多