导入文件以存储在向量中的结构

时间:2018-10-29 16:02:46

标签: c++ vector struct import file-manipulation

我有一个基本上使用向量内部数据结构struct的程序。但是从文件导入数据时遇到了问题。似乎它没有按照我的预期方式存储。

非常感谢。

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <algorithm>
using namespace std;

//Declaration, and global variables

bool status_login = false, quit = false;

struct account {
    string id, pw;
    int win, ttl, best_time, best_move;
};

vector<account> vec;

struct account ac;

int total() {
    return vec.size();
};

//import

void import() {
    ifstream fin;
    fin.open("mastermind.txt");
    if (fin.fail()) {
        cout << "Error opening file.";
            exit(1);
        }
    while (fin.good()) {
        getline(fin, ac.id);
        getline(fin, ac.pw);
        fin >> ac.win;
        fin >> ac.ttl;
        fin >> ac.best_time;
        fin >> ac.best_move;    
        fin.ignore (numeric_limits<streamsize>::max(), '\n'); 
        vec.push_back(ac);
     }
    fin.close();
    cout << vec.size() << '\n' << vec[0].id << '\n';
}

mastermind.txt案例1:

1
1
1
1
1
1

mastermind.txt案例2:

1
1
1
1
1
1
1
1
1
1
1
1

各个案例的预期结果将是:

1 //case1
1

2 //case2
1

我现在所拥有的:

1 //case1

1 //case2

感谢帮助现在真的真的很困惑的菜鸟。

0 个答案:

没有答案