2017-04-25 11 views
0

저는 컴퓨터 과학을 배우는 초보자입니다. C++.구조체 배열을 읽는 파일 열기

내 프로그램에서 파일을 열고 정보를 구조로 읽으려는 시도는 효과가 없습니다.

다음은이 기능에 대해 작성한 것입니다.

void getMemberInfo(Payment member[]) 
{ 
    ifstream file; 
    file.open("information.txt", ios::in); 
    int i = 0; 

    if (!file) 
     cout << "\n Error opening file!\n\n"; 

    else 
    { 
     while (!file) 
     { 
      file >> member[i].ID; 
      file.getline(member[i].name, 30, '\n'); 
      member[i].member_name = member[i].name; 
      file >> member[i].payment_due; 
      i++; 

      if (file.eof()) 
      break; 
    } 
} 

file.close(); 
} 

도움을 주시면 감사하겠습니다. 나는 틀린 것을 잃어 버렸습니다.

+0

아마도 파일이 현재 작업 디렉토리에 없습니다. –

+0

디버거. 디버거를 사용하여 프로그램의 잘못된 위치를 확인하십시오. 디버거를 사용하여 게시물을 편집하십시오. –

+0

게시물을 입력 데이터 파일의 샘플로 편집하십시오. –

답변

-3

오류는 while 상태입니다. 그냥 조건을 변경하면 작동합니다.

// Instead of !file, use !file.eof() 
while (!file.eof()) 
+0

더 나은 '동안 (파일)' – Pavel

+0

괜찮아요 (파일) 그냥 작동하게 만든 –

+0

내가 너무 오래 내가 그것을 놓친 화면을보고 있다고 생각 –