Comp Sci Problem with getline in C++ programming

Click For Summary
The issue discussed involves using getline in C++ to read numbers from a CSV file, where it appears to discard the last cell. The user is reading strings separated by commas and converting them to integers, but the last value is not being captured. The code snippet provided indicates that the problem may be related to how the end-of-file (EOF) condition is being handled. Suggestions include checking the input stream's state more carefully and considering alternative methods like getc for reading data. Efficiently capturing all data from the file remains the primary concern.
khotsofalang
Messages
21
Reaction score
0

Homework Statement



I am solving a problem in which I am reading numbers from cells in a csv file, I used getline to get strings from the csv file then converted the string to an integer... but the getline seemingly discards the last cell in the csv file


Homework Equations



this my C++ code:
if (input_file.good()){
array= new int;
while(!input_file.eof()){getline(input_file,number,',');//input filename is istream
//problem seems to be with the getline discarding the last cell
if(input_file.good()){

//otherwise everything is okay except i nid that number in last cell

cout<<number<<endl;
stringstream convert(number);
convert>>num;
array=num;
// cout<<num;
i++;}}}

The Attempt at a Solution



I attempted the solution as above, please let me know if there is an effecient way to get all data from the file
 
Physics news on Phys.org
I am not quite sure why this is happening (I mostly use C, almost never getline) but have you tried getc?
 

Similar threads

  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 24 ·
Replies
24
Views
2K