Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[34] Re:파일 읽어오는 프로그램..
나그네 [] 4029 읽음    2001-11-24 14:14
음 파일객체에서 실질적으로 데이타를 읽어오는 부분이 없네요..?
제가 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에 들어가는지도
: 알고싶습니다.
:
:

+ -

관련 글 리스트
31 파일 읽어오는 프로그램.. 3299 2001/11/23
176     Re:이렇게 파일을 읽을 수도 있습니다. 이상헌 4775 2001/12/25
175     Re:파일 읽어오는 프로그램.. 이상헌 2729 2001/12/25
34     Re:파일 읽어오는 프로그램.. 나그네 4029 2001/11/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.