typedef struct student{
int stud_number;
char stud_name[20];
}stud;
typedef std:vector<stud> studentVector;
int main(){
stud jourdon={01,”Jourdon”};
stud mary={02,”Mary”};
stud niki={03,”Niki”};
studentVector studVec;
studVec.push_back(jourdon);
studVec.push_back(mary);
studVec.push_back(niki);
}
问一下:怎么样往每个结构体变量的数据成员stud_number前面插入数字2016?
如:往jourdon的学号01前插入2016,jourdon.insert(jourdon.stud_number.begin(),2016);
问一下应该怎么写?
int stud_number;
char stud_name[20];
}stud;
typedef std:vector<stud> studentVector;
int main(){
stud jourdon={01,”Jourdon”};
stud mary={02,”Mary”};
stud niki={03,”Niki”};
studentVector studVec;
studVec.push_back(jourdon);
studVec.push_back(mary);
studVec.push_back(niki);
}
问一下:怎么样往每个结构体变量的数据成员stud_number前面插入数字2016?
如:往jourdon的学号01前插入2016,jourdon.insert(jourdon.stud_number.begin(),2016);
问一下应该怎么写?
解决方案
20
直接用iterator 遍历vector,然后挨个修改成员变量的值就好了
#include <iostream> #include <vector> using namespace std; typedef struct student{ int stud_number; char stud_name[20]; }stud; typedef std::vector<stud> studentVector; int main(){ stud jourdon = { 01, "Jourdon" }; stud mary = { 02, "Mary" }; stud niki = { 03, "Niki" }; studentVector studVec; studVec.push_back(jourdon); studVec.push_back(mary); studVec.push_back(niki); //遍历修改stud_number的值 studentVector::iterator it; for (it = studVec.begin(); it != studVec.end(); it++) it->stud_number += + 201600; //遍历打印 for (it = studVec.begin(); it != studVec.end(); it++) cout << it->stud_number << " " << it->stud_name << endl; }
60
长度不定确实要转成字符串,然后拼接