我使用getline从.txt文件中读取信息并使用该信息创建邻接图。文本文件将始终具有与每行中的条目一样多的行,但该数量永远不会被知道。到目前为止,我有这个:
string title = argv[1];
ifstream myfile(title);
string line;
string word;
stringstream ss;
if (myfile.is_open())
{
while (getline(myfile,line))
{
ss << line; //this line was edited after the post, the problem //is the same.
while (getline(ss, word, ','))
{
//do some stuff to word
}
}
}
第一个while循环完成并从文件中读取每一行到行,然后每个新行成功读入ss。但内部while循环只运行一次,第一次外部while循环运行。在此之后,while条件(getline(ss,word,',')
)为false。
测试文件中信息的格式如下:
城市,亚特兰大,波士顿,博尔德,夏延,芝加哥
亚特兰大,0,-1,-1,-1,-1
波士顿,-1,0,-1,-1,982
博尔德,-1,-1,0,-1,1130
夏延,-1,-1,-1,0,-1
芝加哥,-1,982,1130,-1,0
我真的不知道发生了什么。有什么想法吗?
答案 0 :(得分:0)
重新使用后,您可能必须清理流状态。