我會推薦使用一個Person
類,它包含名字,姓氏和三個數字作爲數據成員。然後,你可以定義你可以用它來方便輸入的提取:
struct Person
{
public:
friend std::istream& operator>>(std::istream& is, Person& p); // for input
friend std::ostream& operator<<(std::ostream& os, const Person& p);
// for output
private:
std::string first, last;
int a, b, c;
};
// definition of the extractor
std::istream& operator>>(std::istream& is, Person& p)
{
char comma;
is >> p.first >> comma >> p.last >> comma;
is >> p.a >> comma >> p.b >> comma >> p.c;
return is;
}
現在你可以創建你的陣列(或向量)持有1000個Person
實例:
std::vector<Person> v;
Person p;
while (file >> p)
{
v.push_back(p);
}
後來,當你想做一個輸出,你可以使用你定義的插件。例如:
std::cout << v[5];
好了空格並不重要,但將在CTYPE類忽略「」還是不明白怎麼會搶(第一持續,B,C),除非這個「如果(文件>>第一>>最後>> a >> b)「是嗎? – ThereFour
@ user2967151是的,它也會忽略逗號。 – 0x499602D2
vector和v聲明爲什麼?和哪裏?也是「文件」你的ifstream變量? – ThereFour