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