or(i=0;i<DATA_SIZE;i++); //<-중간....
for문끝에 semi-colon이 있네요.. 이것을 지우면 될 것 같습니다.
그리고 파일스트림을 아주 잘 이해하고 계신 것 같군요...
이상헌
룡 님이 쓰신 글 :
: 안녕하세요.. 책소개 잘 받았습니다.
: 얼마전 웹서핑을 하다가 이곳을 알아내어서.. 이젠 단골손님이 되었네요..
: 회원가입도 해야겠습니다.^^
: 또다시 질문이 있어서..
: 간단한 파일 입력을 받아서 출력하는 프로그램인데요..
: #include <iostream.h>
: #include <fstream.h>
: #include <stdlib.h>
:
: main()
: {
: const int DATA_SIZE=100;
: int data_array[DATA_SIZE];
: ifstream data_file("numbers.txt");
: int i;
:
: // 만약 화일이 없거나, 문제가 생기게 되면,, true, 아니면 false
: if (data_file.bad())
: {
: cerr<<"Error : Could not open numbers.txt\n";
: exit(8);
: }
:
: for(i=0;i<DATA_SIZE;i++); //<-중간....
: { data_file>>data_array[i];
: cout<<data_array[i];
: }
:
: int total; // 숫자의 총합
:
: total = 0;
:
: for(i=0;i<DATA_SIZE;++i)
: total+=data_array[i];
:
: cout << "Total of all the numbers is" << total << '\n';
:
: return 0;
: }
: 여기서 numbers.txt파일을 읽어서 안에 있는 숫자를 총 더하는 건데요..
: 제가 임의로 1에서 100가지 숫자를 만들어서 numbers.txt를 만들었습니다.
: 그런데 결과가 자꾸 이상한 값만 나오는 군요.. 그래서 위 프로그램에서 중간이라고
: 써있는곳에 cout을 이용해서 data_array에 어떤값들이 들어가나 봤는데
: 이상한 값만 들어가구.. 결과도 이상하구여...
: numbers.txt에 있는 값들이 어떻게 입력되어 data_array에 들어가는지도
: 알고싶습니다.
:
:
|