2012-04-13 2 views
1

나는 다양한 배열로 텍스트 문서에서 다음 값을 스캔 말했다만들기 배열은 인쇄 배열

while (fscanf(employeesTXT, "%d:%[^:]:%[^:]:%d:%lf\n", &empID[i], lastName[i], firstName[i], &payGroup[i], &hoursWorked[i]) != EOF) 
{ 
    i++; 
} 

이없이 실행 :

0001:Satriani:Joe:6:38.0 
0002:Vai:Steve:1:44.5 
0003:Morse:Steve:10:50.0 
0004:Van Halen:Eddie:3:25.75 
0005:Petrucci:John:8:42.25 
0006:Beck:Jeff:3:62.0 

나는이 작업을 수행 루프 동안 다음 명백한 오류. 해당 데이터를 다시 표시하려고 할 때 문제가 발생합니다.

4587591 - - - 0 - 0.00 
0006 - - - 0 - 0.00 
0052 - - - 0 - 0.00 
0052 - - - 0 - 0.00 
0052 - - - 0 - 0.00 
0320 - - - 0 - 0.00 
0320 - - - 0 - 0.00 
0005 - - - 0 - 0.00 
0004 - - - 0 - 0.00 
0003 - - - 0 - 0.00 
0001 - Satriani - Joe - 6 - 38.00 
0002 - Vai - Steve - 1 - 44.50 
0003 - Morse - Steve - 10 - 50.00 
0004 - Van Halen - Eddie - 3 - 25.75 
0005 - Petrucci - John - 8 - 42.25 
0006 - Beck - Jeff - 3 - 62.00 
시작 부분에서 정크의 모든 원인을 무엇

, 그리고 아무것도 내가이 : 대신 예상 된 결과, 나는 다음과 같은 얻을

for(i = 0; i < 16; i++) 
{ 
    printf("%04d - %s - %s - %d - %.2lf\n", empID[i], lastName[i], firstName[i], payGroup[i], hoursWorked[i]); 
}  

그러나 : 나는 루프이 그것을 시도 그것을 제거 할 수 있습니까? 당신이 fscanf 루프를 수행하기 전에 제로 i를 초기화하지

+0

마르크의 Q. – AoeAoe

답변

4

가능성이 높습니다. 그것이 해결 될 경우 해결로

+0

하하 나는 그런 바보 야. 감사. 가끔은 그렇게 간단하지 않다고 나는 믿을 수 없다. – eveo