【问题标题】:Program fails to open file程序无法打开文件
【发布时间】:2020-02-09 17:08:24
【问题描述】:

问题是,每当我传递文件路径并运行代码时,它都不会读取文件。相反,它继续给出输出“无法打开文件”。

#include<iostream>
#include<fstream>
#include<stdlib.h>

using namespace std;

int main() {
    fstream inFile;
    inFile.open("C:\Users\Muhammad Shaeel\Desktop\CC\Lexical Analyser Code\Lexical Analyser Code\program.txt.txt");
    if (!inFile) {
        cout << "Unable to open file";
        exit(0);
    }

    inFile.close();

    return 0;
    system("pause");
}

【问题讨论】:

  • 你为什么要向所有标签发送垃圾邮件?
  • 这看起来与 Javascript、Java 或 HTML 没有任何关系。请适当标记您的问题。
  • 写问题时,请花一些时间考虑一个好的标题。你的情况非常糟糕。
  • 没有“复制文件路径时复制的扩展名”之类的东西。您是否有 Windows 设置以隐藏已知的文件扩展名,这就是为什么您有两次“.txt”?
  • 反斜杠 \ 是字符串文字中的转义字符,因此,如果您想在字符串中使用实际的反斜杠,则需要对其进行转义: "C:\\Users\\Muhammad Shaeel\\Desktop\ \CC\\词法分析器代码\\词法分析器代码\\program.txt.txt"

标签: c++ file-handling


【解决方案1】:

在字符串文字中,“\”斜杠是转义字符。为了使您的字符串文字正常工作,您需要使用“\”转义每个“\”。换句话说,将每个“\”替换为两个斜杠,如下所示:

inFile.open("C:\\Users\\Muhammad Shaeel\\Desktop\\CC\\Lexical Analyser Code\\Lexical Analyser Code\\program.txt");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-06
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多