C (Visual Studio):尝试从.txt文件读取输入时什么都没有收到

C++ (Visual Studio): Recieving nothing when trying to read input from a .txt file

本文关键字:什么 输入 读取 文件 txt Studio Visual      更新时间:2023-10-16
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line = "test";
ifstream myfile("example.txt");
myfile.open("example.txt");
if (myfile.is_open())
{
    cout << line << "n";
    cout << "File Openedn";
    getline(myfile, line);
    cout << line;
    while (getline(myfile, line))
    {
        cout << line << 'n';
        cout << "test";
    }
    myfile.close();
}
else cout << "Unable to open file";
//return 0;
//getchar();
}

如果已经回答了这一点,则事先表示歉意,但是尽管我发现了几个与我需要的答案,但我找不到这个特定问题的答案。

我是Visual Studio的新手,但过去涉足C 。我正在尝试从文本文件中读取数据,并且(目前(只需用COUT打印出来即可。但是,我没有看到任何结果。

起初,我认为我只是在错误的位置将我的txt文件放在错误的位置 - 我做到了。最初,我将收到"无法打开文件"行,表明无法打开文件。因此,我将其移动了一下,发现Visual Studio想要我放置文件。

因此,现在我成功地看到了"文件打开 n"行被打印到屏幕上,然后一无所有。我以为我可能会使用getline错误,但是如果我用" cin"替换文件输入" myfile",那么getline会整天在键盘输入中愉快地阅读,所以也不是。

所以我输入了一些测试cout语句,以打印出我的字符串值,line。第一个打印出"测试"。然后,我在该字符串变量的TXT文件的一行中读取,当我再次库口时,我什么也没得到。这是一个空白的字符串。

另外,线" cout&lt;&lt;" test";"从循环中也没有打印。因此,循环甚至没有发生。

因此,如我所知,该程序能够找到我的textfile,示例.txt。但这实际上并没有看到其中的内容。

textfile的内容(以及我想打印的程序(如下:

"这是第一行

这是第二行

第三

第四

第五"

所有帮助都非常感谢。

弄清楚了。

出了什么问题是:

ifstream myfile("example.txt");

我不知道为什么,但是由于我指定了要在下一行中打开的文件(myfile.open("示例.txt"(;(,因此在ifstream声明中指定filepath引起了问题。/p>

我并没有完全理解它,正如其他人所说的那样,代码对他们来说很好。但无论如何,这似乎都起作用。

如果有什么原因我不应该使用此解决方案,请告诉我。

您可能想打开文件" myfile.open(" example.txt"(;"我发现,如果您不给文件路径奇怪的事情发生。 myfile.open(" c: test example.txt"(;是我对代码进行的调整,它像梦一样工作。