How to properly read from a .csv?
我的代码内存有问题,发现我的代码读错了。例如,最后一个值是加数字,不知道为什么。而且名字不太对劲。
输出结果如下:
1 2 3 4 5 6 7 8 9 | 4101,BRAEBURN02.07682e-3172.07691e-317 4021,DELICIOUS02.07682e-3172.07691e-317 4020,DELICIOUS02.07682e-3172.07691e-317 4015,DELICIOUS02.07682e-3172.07691e-317 4016,DELICIOUS02.07682e-3172.07691e-317 4167,DELICIOUS02.07682e-3172.07691e-317 4124,EMPIRE,1,1.14,145.202.07682e-3172.07691e-317 4129,FUJI02.07682e-3172.07691e-317 4131,FUJI02.07682e-3172.07691e-317 |
正如你们所看到的,帝国被正确地分开了,除了最后一个值。
这是我的代码:cout部分只是为了我个人使用,看看输入值是否正确。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | int main() { string name; double price; int by_weight; double inventory; int plu_code; ifstream infile; infile.open("inventory.csv"); while(!infile.eof()) { stringstream ss; string line =""; getline(infile,line); Tokenizer tok(line,","); ss << line; ss >> plu_code >> name >> by_weight >> price >>inventory; cout << plu_code<<"" <<name<<"" << by_weight<<"" << price <<""<<inventory<<" "; table[plu_code] = new Product(plu_code, name,by_weight, price,inventory); numProducts++; } return 0; } |
我不知道你们的
[编辑]事实上,在清理完你的问题布局后,我注意到