我想从文件中读取以下文字:
B-011 B 2250.50 Boda Alejandra y Mauro C-002 C 8000 300 Conferencia IEEE
然后将每一行(每个字符串)分成不同的数据类型。但并非每条线都具有相同的格式。第一行我想分成一个字符串(B-011),一个char(B),一个double(2550.50)和一个字符串(Boda Alejandra y Mauro)。第二个成为字符串(C-002),char(C),double(8000),int(300)和字符串(IEEE)。
该文件以类似的方式继续。我尝试过以下代码,但我不能让循环区分每一行。
stringstream ss;
string line;
char tipo;
string cveServicio, descripcion;
double ctoxHora;
int maxCantidad;
while(getline(file, line)){
ss<<line;
if(ss >> cveServicio >> tipo >> ctoxHora >> descripcion){
cout << cveServicio << " " << tipo << " " << ctoxHora << " " << descripcion << endl;
} else {
ss >> cveServicio >> tipo >> ctoxHora >> maxCantidad >> descripcion;
cout << cveServicio << " " << tipo << " " << ctoxHora << " " << maxCantidad << " " << descripcion << endl;
}
}