4

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?

2
  • 2
    Read the file into an int, and then into a char. Commented Apr 3, 2013 at 21:03
  • I apologize, I saw that one but I thought it was different because I saw spaces after the comma. Commented Apr 3, 2013 at 21:10

3 Answers 3

6
char ch;
file >> int1 >> ch >> int2 >> ch >> dbl >> ch >> int3 >> ch >> int4;
Sign up to request clarification or add additional context in comments.

3 Comments

@gongzhitaao: which could be any character... This is non-robust.
@LightnessRacesinOrbit True. But the OP has the assumption that It's the same format on every line
@gongzhitaao: ... and relying on that assumption holding for all inputs is non-robust.
4

You may want to try fscanf.

Something like this?

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

3 Comments

I'm an idiot. So wait, I'm new to this but since I'm using C++, then everything in C should work as well?
@Arubix: Yes. It's a matter of debate as to whether you should use any C library functions, though. At the very least, minimise your use of them. But for I/O often they're better.
@LightnessRacesinOrbit: Or worse. For example, scanf should never (and by never I mean almost never) be used with %s.
0

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

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.