簡體   English   中英

C ++從csv文件讀取,然后將數據分配給類成員

[英]C++ read from a csv file and then assign the data to class member

我是C ++初學者。 我下面顯示的基本代碼能夠讀取csv文件並逐行打印出數據。 但是,我無法弄清楚如何將所有這些數據分配給定義的通勤類變量。 我已經嘗試了很多在線教程,但它總是會顯示我不確定如何調試的錯誤。有人可以幫我一些忙嗎? 謝謝。

樣本數據:

commuter1;A;7;20 
commuter2;B;8;30
commuter3;F;10;10
.....
#include<iostream>
#include<string>
#include<vector>
#include<fstream>//strtok 
using namespace std;
class Commuter {
private:
    string name;
    char point;
    int hour;
    int minute;
public:
    Commuter(string name, char point, int hour, int min) {
        this->name = name;
        this->point = point;
        this->hour = hour;
        this->minute = min;
}
void setname(string name);
void setpoint(char point);
void sethour(int hour);
void setmin(int min);
vector<Commuter> commuter;
};

void Commuter::setname(string name) {
this->name = name;
}
void Commuter::setpoint(char point) {
this->point = point;
}
void Commuter::sethour(int hour) {
this->hour = hour;
}
void Commuter::setmin(int min) {
this->minute = min;
}
int main() {
ifstream commuterfile;
string filename;
string str;
cout << "Enter the file path: " << endl;
cin >> filename;
commuterfile.open(filename.c_str());
if (!commuterfile) {
    cerr << "ERROR" << endl;
    exit(1);
}
while (getline(commuterfile, str, ';')) {
    cout << str << endl;
}
commuterfile.close();
return 0;
}

您的str變量中有一行數據,因此您應該能夠再執行幾步並將其添加到類中。

首先,您應該弄清楚如何將字符串拆分為components

下一步是將每個組件從字符串轉換為所需的數據類型。 atoi將是將字符串轉換為int的好函數。

您還需要一個類的實例。 例如Commuter commuter; 然后,您可以在實例上調用commuter.setXXX(variable);等函數commuter.setXXX(variable);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM