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

C/C++ Q/A
[5922] [질문] 간단한 view 프로그램인데요..
땅콩이 [] 2600 읽음    2006-12-30 12:16
//TEXT VIEW PROGRAM
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define PARA_HAVE 2
#define PARA_NONE 1
int ch;
struct FILE_POINTER{char *fp, *fn, *fd; } _FP;
FILE *result;
void scr_print(void);


void main(int argc, char *argv[]){
    if(argc == PARA_HAVE){
             _FP.fn = argv[1];
             _FP.fp = _FP.fn;
             printf("\n");
             scr_print();
                            }
    else if(argc == PARA_NONE){
    printf("\nInput File Name : ");
             _FP.fp = gets(_FP.fn);
             clrscr();
             scr_print();
                          }
    else exit(-1);
                                                      }

void scr_print(void){
    result = fopen(_FP.fp, "r");
    if((result == NULL)){
        printf("\nCan't Open File [%s]", _FP.fp);
        printf("\nUsage: VIEW2.EXE FILE_NAME");
                     }
    else{
    printf("/** Opend File Name: %s/, /AND File Pointer: 0x%X**/", _FP.fp, result);
    printf("\n[LIST]\n");
    while(!feof(result)){
    ch = fgetc(result);
    printf("%c", ch);   }
    fclose(result);
    printf("/**  End Of File  **/ Press Any Key.."); getch();
            }
                                }
/*
연습삼아 텍스트 파일 뷰어를 만들어 보았는데요.
우선, 파라미터를 입력하는 경우와 입력하지 않는 경우로 프로그램이 실행 됩니다.
1. [문제점] 실행해 본 결과 두가지 문제점이 있었는데요. 파라미터가 없이 실행할 경우에 파일명을 저장하는
                  문장 _FP.fp = gets(_FP.fn); 에서 _FP.fp 에 NULL 값이 입력되어 지네요. 변수 두개 모두가 포인터형
                  이므로 변수 _FP.fp 에는 fn에 대입되어 있는 주소값이 들어와 있어야 하는데 NULL값이 들어가는
                  이유를 모르겠습니다. 하지만 파일명이 있다고 가정하고 입력했을때 _FP.fp에는 NULL값이 입력되어
                  있지만(디버깅으로 확인결과) 파일은 제대로 출력된다는 겁니다...이유를 모르겠네요..
2. [문제점] result = fopen(_FP.fp, "r"); 의 printf("%X", result); 라는 코드를 넣으면 실제 파일의 포인터값을 의미
                  하는지요.실제로 실행해본 결과 같은 값이 16진수 형태로 나오는데요..이것도 이해할 수가 없네요.

                  고수분들의 도움 부탁드립니다.

*/

+ -

관련 글 리스트
5922 [질문] 간단한 view 프로그램인데요.. 땅콩이 2600 2006/12/30
5923     Re:[질문] 간단한 view 프로그램인데요.. cc1232 2494 2007/01/02
5924         Re:Re:[질문] 간단한 view 프로그램인데요.. 서재호 2361 2007/01/02
5926             Re:Re:Re:[질문] 간단한 view 프로그램인데요.. cc1232 2543 2007/01/02
5927                 Re:Re:Re:Re:[질문] 간단한 view 프로그램인데요.. 서재호 2526 2007/01/03
5933                     Re:Re:Re:Re:Re:[질문] 간단한 view 프로그램인데요.. 남병철.레조 2451 2007/01/06
5928                     Re:Re:Re:Re:Re:[질문] 간단한 view 프로그램인데요.. cc1232 2443 2007/01/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.