파일입출력2

프로그래밍 2009. 12. 4. 18:56

문자 읽어들이기


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXLEN 256

void main(int argc, char *argv[])
{
 int start = atoi(argv[1]), end = atoi(argv[2]); // 콘솔로 받는 KEY
 char line[MAXLEN]; // 파일로부터 한줄씩 받음
 long item1, item3, item5, item6, item7, item11;// 정수 애트리뷰트 저장공간
 long item12;// 추가투숙기간
 char item2[9], item4[3], item8[3], item9[3], item10[3];// 문자 애트리뷰트 저장공간
 char chTemp1[7],chTemp3[3],chTemp5[7],chTemp6[6],chTemp7[5],chTemp11[6];
 // 정수형 데이터로 바꿔줄 TEMP
 long sum=0;// 최종결과값의 초기화
 int i;
 FILE *Infp, *Outfp;
 Infp = fopen("C:\\C_IT\\Data\\abc4720.txt","rt");  // abc4720.txt로부터 자료를 읽음
 /* strncpy는 끝에 널종료문자를 추가해주지 않는 경우가 있으므로 아래와 같이 해주어야 합니다. */
 chTemp3[2] = '\0';
 chTemp11[5] = '\0';
 item8[2] = '\0';
 item9[2] = '\0';
 for(i=1;i<=end;i++){
  fgets(line,MAXLEN,Infp);
  if(i>=start){
    strncpy(item9,line+35,2);//예약방법코드  <======!!!!요기!!!!!
    item11 = atoi(strncpy(chTemp11,line+39,5));//누적점수
    item3 = atoi(strncpy(chTemp3,line+14,2));// 투숙기간
    strncpy(item8,line+33,2);// 지불코드
    //printf("%s\n",item9);
  }

  if((strcmp(item9,"HU")==0) && (item11<=5920)){
  //지불코드 추가투숙기간 ca6 cr10 de2 la20
  if(strcmp(item8,"CA")==0) item12 = 6;
  else if(strcmp(item8,"CR")==0) item12 = 10;
  else if(strcmp(item8,"DE")==0) item12 = 2;
  else if(strcmp(item8,"LA")==0) item12 = 20;
  sum = sum + item3 + item12;
 }
}
 fclose(Infp);
 Outfp = fopen("C:\\C_IT\\Data\\ans4.txt","wt");
 fprintf(Outfp,"%d %ld %d\n",start,end,sum);
 fclose(Outfp);
}


 

'프로그래밍' 카테고리의 다른 글

파일 입출력3  (0) 2009.12.09
파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글