C++ 如何逐行从文件中读取数据,并将每个标记存储在向量中的一行中以供进一步使用(c+;+;)

C++ 如何逐行从文件中读取数据,并将每个标记存储在向量中的一行中以供进一步使用(c+;+;),c++,C++,我有以下格式的数据(N Snode Sterminal Dnode Dterminal): 五, 四, 123445 678910 1112131415 对于第一步,我试图逐行阅读,但在我的输出中,我只能输出最后一行,而不能输出其余的。逐行读取之后,我必须将每列存储到向量中 我的代码:` using namespace std; int main(){ int cell, con, N,Snode,Sterminal,Dnode,Dterminal; ifstream inf

我有以下格式的数据(N Snode Sterminal Dnode Dterminal):

五,

四,

123445

678910

1112131415


对于第一步,我试图逐行阅读,但在我的输出中,我只能输出最后一行,而不能输出其余的。逐行读取之后,我必须将每列存储到向量中

我的代码:`

using namespace std;

int main(){
    int cell, con, N,Snode,Sterminal,Dnode,Dterminal;
    ifstream infile;
    infile.open("file");
    infile >>cell;
    cout<<cell<<endl;
    infile >>con;
    cout<<con<<endl;
    while(infile>>N>>Snode>>Sterminal>>Dnode>>Dterminal);
        {
            cout<< N <<"\t"<< Snode<<"\t" << Sterminal<<"\t" << Dnode<< "\t" << Dterminal <<endl;
        }
}
使用名称空间std;
int main(){
int单元,con,N,Snode,Sterminal,Dnode,dtterminal;
河流充填;
填充。打开(“文件”);
填充>>单元;
coutSterminal>>Dnode>>DTTerminal);
{

coutAlways检查文件是否确实打开。始终检查所有输入操作是否成功。它确实打开了,因为我可以读取前两行和最后一行。但是,谢谢,将添加代码。“我正在尝试逐行读取”。如果是这样,那你为什么要浪费时间使用
>
?这就像试图用螺丝刀敲入钉子。这不是
>
的目的。如果你想一次只读取一行输入,这就是
std::getline
的目的。使用正确的工具和正确的功能,完成正确的工作。我编辑了这篇文章t已经在我的代码中。但是在读取数据后/读取数据时,我想将每一列存储到向量中。我该如何做?@Samvarshavchika在将一行读取到
std::string
后,使用该行构造
std::istringstream
,然后使用
>
从中提取各个列。始终检查文件是否实际存在lly没有打开。始终检查所有输入操作是否成功。它确实打开了,因为我可以读取前两行和最后一行。但是谢谢,将添加代码。“我正在尝试逐行读取”。如果是这样,那你为什么要浪费时间使用
>
?这就像试图用螺丝刀敲入钉子。这不是
>
的目的。如果你想一次只读取一行输入,这就是
std::getline
的目的。使用正确的工具和正确的功能,完成正确的工作。我编辑了这篇文章t已经在我的代码中了。但是在读取数据之后/读取数据时,我想将每一列存储到向量中。我该如何做?@Samvarshavchika在将一行读取到
std::string
之后,使用该行构造
std::istringstream
,然后使用
>
从中提取各个列。