C++ 无法打印文件中的文本

C++ 无法打印文件中的文本,c++,file-io,C++,File Io,我正在尝试编写一个简单的程序,一次打印一行文本文件的内容。然而,每当我运行程序时,我只会看到一个空白屏幕。我确信我试图读取的文件包含几行文字。任何关于为什么这不起作用的帮助都会非常有用 bool show() { string line; ifstream myfile; myfile.open("tasks.txt", ios::app); while (!myfile.eof()) { getline (myfile, line);

我正在尝试编写一个简单的程序,一次打印一行文本文件的内容。然而,每当我运行程序时,我只会看到一个空白屏幕。我确信我试图读取的文件包含几行文字。任何关于为什么这不起作用的帮助都会非常有用

bool show() {
    string line;
    ifstream myfile;
    myfile.open("tasks.txt", ios::app);
    while (!myfile.eof()) {
        getline (myfile, line);
        cout << line << endl;
    }
    myfile.close();
    return true;
}
boolshow(){
弦线;
ifstreammyfile;
打开(“tasks.txt”,ios::app);
而(!myfile.eof()){
getline(myfile,line);

cout问题可能是您正在将
ios::app
ifstream
(输入流)一起使用,这毫无意义

根据,

ios::app:所有输出操作都在文件末尾执行,将内容附加到文件的当前内容。
此标志只能用于仅为输出操作打开的流。

试试这个:

std::string line;
ifstream myfile ("tasks.txt");
if (myfile.is_open())
{
    while ( getline (myfile,line) )
    {
        std::cout << line << std::endl;
    }
    myfile.close();
}
std::字符串行;
ifstream myfile(“tasks.txt”);
如果(myfile.is_open())
{
while(getline(myfile,line))
{

std::cout是否检查了
myfile.isopen()
的返回值?可能文件不在那里,或者您没有读取权限


哦,是的,我错过了附加标志。应该是
ios::in

,因为你只想读取文件,你为什么要在附加模式下打开它?谢谢!这是我的问题。