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

C++빌더 Q&A
C++Builder Programming Q&A
[27854] Re:open file 저장
지나가다 [] 944 읽음    2003-11-12 15:40
C의 파일 포인터 를 쓰고 계신데요..
일단 Builder에서는 fgets 함수가 exception 을 throw 하지 않습니다.
때문에 catch statement miss 에러가 난것 같습니다.
또한 Exception 이라는 예외 클래스는 없는것 같고
Ansi C++의 exception 예외 클래스를 지원합니다.
아마도 여기에서 type name expected 에러가 뜨는듯합니다.

다운이 되는 이유는 Memo1->Text = fp; 이부분 때문인것 같구요..
결국 while문 그대로 쓰시고
try catch문과 이부분을 빼시면 제대로 될듯 합니다.

추천해 드리자면 ifstream 을 쓰실것을 추천합니다.
ifstream은 getline을 지원하여 라인단위로 읽기 매우 편리합니다.
대강 바꿔서 보여드리자면

#include <fstream.h>
:
:
         char chBuffer[256];
         switch (Form1->ComboBox1->ItemIndex)
         {
                 case 0:
                 {
                         ifstream fin = open("j0.txt");

                         if(!fin.is_open())
                         {
                                 fin.close();
                                 Memo1->Lines->Add("Fale");//   return 1;
                         }
                         while(fin.getline(chBuffer, 256, "\n"))
                         {
                                 Memo1->Lines->Add(chBuffer);
                         }
                         fin.close();
                  }
                  :

이런식으로 하시면 원하시는 결과도 얻고 코드도 간단해질 듯 합니다...

+ -

관련 글 리스트
27848 open file 저장 하늘이 780 2003/11/12
27860     Re:open file 저장 컴파일오류 871 2003/11/12
27854     Re:open file 저장 지나가다 944 2003/11/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.