C++读取文件流失败的原因?
#include "pch.h"
#include <iostream>
#include<fstream>
using namespace std;
int main() {
    char N[20];
    string str("iostream_exercise.txt");
    ifstream in(str);
    in.open(str);
    if (in.is_open())
        in >> N;
    else
        cout << "读取失败" << endl;
    for (int j = 0; j < 20; j++) {
        cout << N[j] << " ";
    }
    in.close();
}

文本文件内容是:woaini 文本文件编码方式为ANSI 放在了本工程文件内,运行在VS2017。

输出:

读取失败

???????????????????

请赐教,感谢!

请赐教!

c++

2个回答

string str("iostream_exercise.txt");
看下这个文件所在的路径,是不是和程序所在的路径相同
用完整路径
string str("x:\path\iostream_exercise.txt"); 这样的,试试看

然后检查下权限是不是有问题,用管理员权限运行看看

RoyNewDawn
RoyNewDawn 感谢,解决了。但是我在用完整路径的时候它提示我不可识别的转义字符,但是我查询了网上许多人的写法,包括您在内,都是单斜杠。(改双斜杠正确)。我不清楚文件流类的构造函数内是怎么弄的,是字符类型的转换吗?
大约一年之前 回复

这个文件不能放在工程目录,要放在.exe的输出目录,否则请使用绝对路径

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问