如何从C++中的文本文件中读取每个整数?

如何从C++中的文本文件中读取每个整数?,c++,text,fstream,C++,Text,Fstream,程序停止工作,因为它没有正确读取文本文件。 文本文件包含以下内容: 1 2 1 3 1 4 2 4 3 4 0 0 1 2 3 2 我想从文本文件中获取两个图形,0将它们分开 提前谢谢 int main() { ifstream file2; file2.open("ass3.txt"); int i=1; int t1; int t2; file2>>t1>>t2; Graph* graph1;

程序停止工作,因为它没有正确读取文本文件。 文本文件包含以下内容:

1 2 
1 3 
1 4 
2 4 
3 4 
0 0 
1 2 
3 2
我想从文本文件中获取两个图形,0将它们分开

提前谢谢

int main()
{
    ifstream file2;
    file2.open("ass3.txt");
    int i=1;
    int t1;
    int t2;
    file2>>t1>>t2;
    Graph* graph1;
    Vertex* u;
    Vertex* v;
    cout<<t1<<" "<<t2;//this is giving value -2 and some other random number.
    while(t1==0 && t2==0){
        if(t1==i){
            u=addVertex(t1);
            insert(u,graph1);
            i++;
        }
        if(t2==i){
            u=addVertex(t1);
            insert(u,graph1);
            i++;
        }
        *u = graph1->vertices[t1];
        *v = graph1->vertices[t2];
        addEdge(u, v, true);
        addEdge(v, u, false);
        file2>>t1>>t2;
    }
    Graph* graph2;
    i=0;
    while (!file2.eof()){
        file2>>t1>>t2;
        if(t1==i){
            u=addVertex(t1);
            insert(u,graph2);
            i++;
        }
        if(t2==i){
            u=addVertex(t1);
            insert(u,graph2);
            i++;
        }
        *u = graph1->vertices[t1];
        *v = graph1->vertices[t2];
        addEdge(u, v, true);
        addEdge(v, u, false);
    }
return 1;
}

如果在第一个while循环中出现错误的条件,请尝试设置

while(t1!=0 && t2!=0){
而不是

while(t1==0 && t2==0){
使用您使用的条件,您立即跳到第二个循环,整个文件被放入第二个图形中,导致第一个图形中出现未初始化的值


希望这能有所帮助。

到目前为止,您已经给我们提供了有关该问题的详细描述。说程序不工作不足以理解出了什么问题。我在代码中加了一个cout,还编写了输出。如果我能说得更具体一些,我会自己解决这个问题。目标是使问题尽可能清楚简洁。这包括将代码的大小减少到最简单的示例,以重现您描述的问题。您确定ass3.txt文件存在且可读吗?你的代码对我有用。您可以通过查询file2.rdstate&std::ifstream::failbit==0来检查文件是否正确打开。当文件不存在时,调用file2>>t1>>t2确实会导致垃圾。感谢您告诉我这个错误,但同样的问题仍然存在,可能是与图形函数有关的问题,更改条件代码对我来说似乎工作正常我删除了图形部分,您没有发布的代码只留下了文件交互,调试工作正常我删除了cout之后的所有代码,并将t1和t2初始化为0。现在它将0作为输出,这意味着文件2>>t1>>t2;没有改变任何东西。我发现了问题,不用麻烦了。这有点奇怪,我的输出是12,这是文件的正确第一行。然后我会问一些愚蠢的问题..你确定文件在正确的位置,可读性等等。。?