首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用iomanip格式化矢量输出

使用iomanip格式化矢量输出
EN

Stack Overflow用户
提问于 2014-11-06 08:44:18
回答 1查看 103关注 0票数 0

我这里有点麻烦。我有一个如下所示的文件(这是一个代码片段)

代码语言:javascript
复制
Sophia F 22158
Emma F 20791
Isabella F 18931
Jacob M 18899
Mason M 18856
Ethan M 17547

我想把每个名字,和名字各自的数字放在单独的向量中。例如,我有4个向量:1个是女性的名字,1个是女性的数字,男性和男性的数字也是如此。(总共4个)

我有这段代码,它将遍历文件,取出这些元素,并将它们放入向量中。

代码语言:javascript
复制
for (int i = 0; i < numTimes; i++) {
        getline (inputFile, inputLine);
        ss.str(inputLine); //ss is a string stream
        ss >> name >> gender >>  popularity;
        if (gender == 'M') {
            mNames[i] = name;
            mFrequency[i] = popularity;
        } else if (gender == 'F') {
            fNames[i] = name;
            fFrequency[i] = popularity;
        }

        ss.clear();

    }

我用这个方法把它打印出来:

代码语言:javascript
复制
cout << counter << " Most Popular Baby Names" << endl << endl;
    cout << left << setw(15) << "Girls" ;
    cout << right << setw(9) << "Frequency" <<"      ";
    cout << left << setw(15) << "Boys";
    cout << right << setw(9) << "Frequency" << endl;
    for (int i = 0; i < counter; i ++) {
        cout << left << setw(15) << fNames[i] ;
        cout << right << setw(9) << fFreq[i] <<"      ";
        cout << left << setw(15) << mNames[i];
        cout << right << setw(9) << mFreq[i] << endl;
   {

然后我得到了这个输出:http://i.stack.imgur.com/2x0ta.png

但我希望它是这样的:http://i.stack.imgur.com/OSIX9.png

所以我在想,在打印和删除这些向量中的所有空格/0之前,我需要检查一下,或者我需要在打印输出时进行检查。有谁有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-11-06 09:14:33

解决了,谢谢你们。

我使用了两个单独的while循环,每个循环对应一组数组。在它们之间,我将ifstream重置回开头。这样,它就会遍历到每个向量都有5个非零元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26769899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档