음 파일객체에서 실질적으로 데이타를 읽어오는 부분이 없네요..?
제가 c++를 잘몰라서..이부분이 이해가 안되네요..ㅅㅅ;
---> data_file>>data_array[i];
이코드가 파일에 있는 내용을 어레이로 넣는 부분인가요..?
음냐 아무리 봐도...클래스 ifstream에서 방향재지정이 먹는다는건
알고 있는데...이렇게는 안될거에요...맞나..ㅡ,.ㅡ;
우선은 제가 간단히 만들어 봤어요..
음..파일에서 읽어서..정수로 변환이 좀 까다롭구만..ㅜㅜ
참 nymbers.txt파일에는 내용을 어떻게 넣었나요.?
저는 1 2 3 4 5 6 7 8 9 10 이렇게 들어가 있거든요..
제가 c++은 잘몰라서....이해바랍니다..ㅅㅅ;
#include <stdlib.h>
#include <string.h>
main()
{
const int DATA_SIZE=100;
int data_array[DATA_SIZE];
char *ch, *str;
int count = 0;
ifstream data_file("numbers.txt");
int i;
//data_file.
// 만약 화일이 없거나, 문제가 생기게 되면,, true, 아니면 false
if (data_file.bad())
{
cerr<<"Error : Could not open numbers.txt\n";
exit(8);
}
ch = (char *)malloc(50);
//이부분에서 파일객체에서 안의 데이타 내용을 읽어 들여야 되거든요..
while(data_file.getline(ch, 50)){
str = strtok(ch, " "); //데이타가 공백으로 구별되어 있으니까 공백으로
//구분하구요..
data_array[count] = atoi(str); //정수로 변환해서..어레이에 넣습니다.
while(str != NULL){
count++;
str = strtok(NULL, " ");
if(str != NULL)
data_array[count] = atoi(str);
}
}
data_file.close();
free(str);
int total; // 숫자의 총합
total = 0;
for(i=0;i<count;++i)
total+=data_array[i];
cout << "Total of all the numbers is" << total << '\n';
return 0;
}
룡 님이 쓰신 글 :
: 안녕하세요.. 책소개 잘 받았습니다.
: 얼마전 웹서핑을 하다가 이곳을 알아내어서.. 이젠 단골손님이 되었네요..
: 회원가입도 해야겠습니다.^^
: 또다시 질문이 있어서..
: 간단한 파일 입력을 받아서 출력하는 프로그램인데요..
: #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에 들어가는지도
: 알고싶습니다.
:
:
|