我必须制作一个程序,从文件中为学生读取信息,我制作了几个 vector 来保存所有这些信息。但是后来我需要总结所有学生的缺勤,所以我需要将它们转换为整数,但是当我尝试程序运行时,但是当它到达 atoi 部分时立即崩溃。
while(!read.eof()) {
if(i==4){
i=0;
}
read>>b;
if(i==0){ names.push_back(b); }
if(i==1){ last_name.push_back(b); }
if(i==2){ absences.push_back(b); }
if(i==3){ unatoned.push_back(b); }
i++;
}
int a = atoi(absences[0].c_str());
最佳答案
如果 absences
保持为空,则 absences[0]
的行为未定义。
当 absences
为空时使用 absences.at(0)
会强制编译器抛出异常,因此更易于使用。
无论哪种方式,对于缺席次数,只需使用
auto a = absences.size();
关于c++ - 将字符串 vector 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54984396/