【问题标题】:Why file isn't opening C++?为什么文件没有打开 C++?
【发布时间】:2014-02-01 15:16:28
【问题描述】:

我只是第一次尝试此代码。我无法找到错误的根源。

代码如下:

#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    fstream file;
    file.open("C:\\Users\\AfzaalAhmad\\Documents\\text.txt");
    return 0;
}

文件存在于该位置。这是文件系统的屏幕截图。

在这种情况下也不例外,但文件永远不会打开!

我在哪里缺少代码?

【问题讨论】:

  • 你需要双反斜杠吗?不应该是 C:\path\to\my\file 之类的东西吗?
  • @sergico 我需要转义反斜杠 .. 因为当我使用单斜杠时会出错!
  • 双反斜杠是必须的,第一个是第二个字面
  • 你怎么知道文件打不开?你不检查吗?
  • 它不会在记事本或你知道的东西中打开 - 你只是在 C++ 程序中有一个 fstream 对象,可以让你从那里读取它。例如,您可以说std::string line; while (getline(file, line)) std::cout &lt;&lt; line &lt;&lt; ''; 将文件内容写入标准输出(终端)(您也需要#include &lt;string&gt;#include &lt;iostream&gt;

标签: c++ fstream


【解决方案1】:

您编写的命令将打开该位置的文件句柄。为了用它做任何事情,你需要某种读或写操作。可能您的代码运行良好:)

例如,跟随您的file.open("...") 行:

file << "This is some text to send to my now open file\n";
...
file.close();

【讨论】:

  • 不客气。我用一些例子编辑了我的答案 - @karakale 的另一个答案可能对你有帮助:)
  • 我会尝试他的教程链接,但我不知道为什么该网站在 3 天后就关闭了:imgur.com/RveTZfP ..
  • @AfzaalAhmadZeeshan:不,你应该使用a good book
  • 好吧,我承认我使用过 cplusplus.com 不少,但有人告诉我它不是很好。正如@LightnessRacesinOrbit 指出的那样,SO 有一个关于最好的 C/C++ 书籍的问题,并提供了一些相当广泛的答案。
  • @chrisb2244:如今,该参考资料相当准确且维护良好,但论坛贡献本身并未经过同行评审,并且由于网站名称,您会得到很多 很多 i> 入门级的贡献,它们会教你不好的做法和错误,由那些还不知道更好的人编写。这是一个恶性循环,真的。该教程还可以,但无法替代由著名作者撰写的完整书籍。
猜你喜欢
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
相关资源
最近更新 更多