【发布时间】:2015-12-02 06:49:57
【问题描述】:
我已经看过here、here和here。我没有使用 cin.ignore()。这段代码有两个问题,但会限制为一个。 unsigned int int long "sID" 应该包含 "020961797" 但只包含 "20961797"。
bool GPA::importStudents(string mapFileName, string setFileName)
{
long long int sID;
string sName;
string sAddress;
string sPhone;
stringstream ss;
string line;
int mline_count = 0;
int sline_count = 0;
double x;
int y;
ifstream map_file;
ifstream set_file;
map_file.open(mapFileName);
set_file.open(setFileName);
if (map_file.is_open()){
for (int i = 0; i < mline_count/4; i++){
getline(map_file, line);
ss << line;
ss >> sID;
getline(map_file, line);
ss << line;
ss >> sName;
getline(map_file, line);
ss << line;
ss >> sAddress;
getline(map_file, line);
ss << line;
ss >> sPhone;
StudentInterface * SI = new Student(sID, sName, sAddress, sPhone);
my_map.insert(std::pair<unsigned long long int, StudentInterface*>(sID, SI));
//my_map.emplace(Student(sID, sName, sAddress, sPhone));
}
}
}
这是它应该从中读取数据的文件的第一部分:
020961797
约书亚·库珀
0509 McCrooke Avenue, Columbus, California 52826
552-534-8671
【问题讨论】:
-
这个数字你必须使用字符串。
标签: c++