我有C ++代码。它读取文件并在该文件中查找字谜(“字典”)。
while (1)
{
infile.getline(buff, sizeof(buff));
if(infile.eof()) break;
sbuff = buff;
sort(sbuff.begin(), sbuff.end());
an.insert(pair<string, string>(sbuff, buff));
}
im = an.begin();
ane = an.end();
vector<multimap<string, string>::iterator> chg;
chg.push_back(im);
while (++im != ane)
{
chg.push_back(im);
if((*im).first != (*chg[0]).first)
{
if(chg.size() > 2)
{
for(unsigned int i=0; i < chg.size() - 1; i++);
cout << endl;
}
chg.clear();
chg.push_back(im);
}
}
if(chg.size() > 1)
for(unsigned int i=0; i < chg.size(); i++)
cout << (*chg[i]).second << endl;
infile.close();
}
编译后,将显示所有空行的早午餐。
在Fedora上的MacOS上,结果相同
什么不对?
最佳答案
此for循环在您的代码中不执行任何操作:
{
for(unsigned int i=0; i < chg.size() - 1; i++);
cout << endl;
}
您可能不想在其结尾加上
;
。如果将其删除,尽管您不会在屏幕上cout
键入任何文本,但它只会给您很多空行。关于c++ - 整理文件进出C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21254738/