Stroustrup天鹅书矢量问题

时间:2009-06-18 19:59:30

标签: c++ vector

我正在使用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";
            } 

1 个答案:

答案 0 :(得分:5)

while(cin&gt;&gt; temp)仅在到达文件末尾时结束。使用control-D将文件结尾发送到终端。