위해 나는파일 포인터 이동의 getline
2
100
2
10 90
150
3
70 10 80
지금, 내가 4 라인 (10 ~ 90) 만 5 라인 (150) 읽기, 파일 포인터까지 읽을 수 있어요 다음 데이터를 입력 파일을 가지고있다 네 번째 줄에 붙어있는 것 같습니다. 난 infile.clear() 그냥 시도했다. 파일 포인터가 올바르게 움직이는 지 확인하거나 다음 줄에 파일 포인터를 놓으려면 어떻게해야합니까? 의견을 보내 주시면 감사하겠습니다.
-Amit
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main(void) {
int cases;
int total_credit=0;
int list_size=0;
string list_price;
//Read file "filename".
ifstream infile;
infile.open("A-large-practice.in",ifstream::in);
if(!infile.is_open()) {
cout << "\n The file cannot be opened" << endl;
return 1;
}
else {
cout<<"Reading from the file"<<endl;
infile >> cases;
cout << "Total Cases = " << cases << endl;
int j=0;
while (infile.good() && j < cases) {
total_credit=0;
list_size=0;
infile >> total_credit;
infile >> list_size;
cout << "Total Credit = " << total_credit << endl;
cout << "List Size = " << list_size << endl;
//cout << "Sum of total_credit and list_size" << sum_test << endl;
int array[list_size];
int i =0;
while(i < list_size) {
istringstream stream1;
string s;
getline(infile,s,' ');
stream1.str(s);
stream1 >> array[i];
//cout << "Here's what in file = " << s <<endl;
//array[i]=s;
i++;
}
cout << "List Price = " << array[0] << " Next = " << array[1] << endl;
int sum = array[0] + array[1];
cout << "Sum Total = " << sum << endl;
cout <<"Testing" << endl;
j++;
}
}
return 0;
}
당신은 바로 크리스입니다. 무슨 뜻인지 알 겠어. 나는 그것을 피할 수있는 방법이 있는지 궁금 해서요. 벡터를 사용하여 숫자 목록을 포함하는 문자열 줄을 파싱 할 생각입니다. – Amit