Данные моего csv-файла выглядят так:
Palmer Shannon,1.66805E+12,7500,3020
Jonas Kelley,1.62912E+12,9068,1496
Jacob Doyle,1.61608E+12,1112,3502
Iola Hayden,1.60603E+12,6826,4194
Это мой заголовочный файл:
#ifndef client_h
#define client_h
#include <string>
const int MAX_CLIENT = 20;
struct client {
std::string name;
long long accountNum;
int pwd;
double balance;
};
Для первых данных имя строки относится к Palmer Shannon , long long относится к 1.66805E + 12 , int pwd относится к 7500 , а двойной баланс относится к 3020 .
Это мой файл main.cpp, и я пытаюсь создать вектор для хранения данных файла csv.
string str;
std::vector<client> readClientProfile;
while (getline(data, str))
{
client Client;
istringstream iss(str);
string token;
getline(iss, Client.name, ',');
getline(iss, token, ',');
Client.accountNum = std::stoi(token);
getline(iss, token, ',');
Client.pwd = std::stoi(token);
getline(iss, token, ',');
Client.balance = std::stoi(token);
readClientProfile.push_back(Client);
}
for (size_t i = 0; i < readClientProfile.size() - 1; i++)
{
std::cout << readClientProfile[i].name << " "<<endl;
std::cout << readClientProfile[i].accountNum << " "<<endl;
std::cout << readClientProfile[i].pwd << " "<<endl;
std::cout << readClientProfile[i].balance << " "<<endl;
}
Вопрос в том, когда я запускаю программу, accountNum просто показывает первыймир 1 .Я не могу изменить тип accountNum, потому что это запрос присваивания. Как читать длинный длинный тип с переменной, символом и символом?