c++ - ifstream 没有明显的原因不读取文件
问题描述
我为我的班级编写了一个非常简单的程序,虽然它编译没有问题,但我在 cout 上没有输出。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream fl("data.txt");
string s;
for(int i=0;i<3;i++){
fl>>s;
cout<<s;
}
return 0;
}
data.txt
与 位于同一文件夹中main.cpp
。
解决方案
data.txt
与在同一个文件夹中main.cpp
...这不一定与您运行程序时所在的目录相同。
根据 IDE,您可能位于二进制目录、发布目录、调试目录或一百个不同位置中的任何一个 :-)
您通常可以通过简单地执行以下操作之一来找出位置:
system("pwd")
system("cd")
system("cmd /c cd")
在您的代码中,然后查看它的输出。我不确定cd
它本身是否会起作用,因为它可能是一个内部cmd
命令。
然后你要么必须确保数据文件在那个地方,要么使用一个可以正确找到它的路径名。即使在 IDE 中构建时,我也倾向于从命令行运行我的可执行文件,以确保我在正确的位置。
推荐阅读
- swift - SwiftUI - Embedded UITextField invokes the shouldChangeCharacters delegate method for suggested text
- linux - How to input non-alphabetic letters (such as Chinese, Japanese, Korean) in unix/linux console without X running
- android - How to remove the launcher icon in android 10(Q)
- mysql - ordering in sql result
- python - How can I fix this error with sklearn.preprocessing?
- java - ButterKnife is not binding views and causing exceptions
- php - 如何计算在PHP中的时隙数组中传递的时间
- python - 如何将 Flask.route 与 Flask 一起使用
- c++ - 类的全局实例与命名空间
- html - 加载后如何一起自动播放两个 HTML5 视频?