【发布时间】:2025-12-02 10:00:02
【问题描述】:
我为我的班级编写了一个非常简单的程序,虽然它编译没有问题,但我在 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 位于同一文件夹中。
【问题讨论】:
-
文件是空的吗?尝试在末尾添加
std::cout << std::endl以刷新输出。 -
它“不明显”,因为你没有检查文件是否被打开。
-
一般来说,当事情可能失败时,你应该假设它们确实失败了。
-
if(fl) { /* open succeeded */ } else { std::cerr << std::strerror(errno); }