简体   繁体   中英

C++ - Read in file lines separated by a comma

I tried looking up what I'm trying to do but I cant find specifically what I'm trying to do. I have a text file with multiple lines that look like this:

12345,12345,12.34,12345,12345

It's the same format on every line and I want to get each line and plug the numbers into certain variables. Something like this:

file >> int1 >> int2 >> double1 >> int3 >> int4;

But this is very hard for me to do because of the comma separating each number. I used to be able to do this when there was a 'space' but the comma is really throwing me off. Any ideas?

char ch;
file >> int1 >> ch >> int2 >> ch >> dbl >> ch >> int3 >> ch >> int4;

You may want to try fscanf .

Something like this?

 fscanf(filepointer, "%d,%d,%f,%d,%d\n", &int1, &int2, &double1, &int3, &int4);

The earlier suggestions work well. However, if you can use c++11 and need a more robust solution, I would suggest the c++11 regex library: http://en.cppreference.com/w/cpp/regex

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM