我正在使用Stroustrup的天鹅书。我遇到了从a获取输出的问题 向量。我跟着秒的文本示例。第121页的4.6.3 设法获得编译的源并能够执行它。后 键入空格分隔的单词列表,程序挂起和 不会列出矢量的元素。我没有意识到 如果重复,每个元素都会被输出,但我没有收到 输出完全。我已经使用g ++ 4.3.2编译并运行它 Linux上的编译器和使用Visual C ++ express 2008编译器 视窗。两者都产生相同的结果。感谢您抽出宝贵时间 读这个。这是我的来源:
#include "Supporting_files/std_lib_facilities.h"
int main()
{
vector<string> words;
string temp;
cout << "Enter a list of words: ";
while(cin>>temp)
words.push_back(temp);
cout << "Number of words: " << words.size() << endl;
sort(words.begin(),words.end());
for(int i=0;i<words.size();++i)
if(i==0||words[i-1]!=words[i])
cout << words[i] << "\n";
}
答案 0 :(得分:5)
while(cin&gt;&gt; temp)仅在到达文件末尾时结束。使用control-D将文件结尾发送到终端。