| 고급 프로그래밍 및 실험 - 10주차 실습 |
Technology 07/05/07 19:26 ( Translate this page  )
글 주소 : http://ohyung.net/379
소스 코드 타입 : C
/*
고급 프로그래밍 및 실습 10주차 파일 입출력
2002711158 오형탁
*/


/*2번
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
        FILE *fp;
        char temp[100]="Hello world";
        char temp2[100];
        fp=fopen("test.txt","w+");
        if (fp==NULL)
        {
                printf("FILE open ERROR");
                exit(1);
        }
        fputs(temp,fp);
        fgets(temp2,100,fp);
        printf("%s\n",temp2);
        fclose(fp);
        return 0;
}
/**/


/* 참고 예제 소스 코드
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        FILE *fp;
        char temp[100]="THANK\nYOU\n";
        fp=fopen("test.txt","w+");
        if(fp==NULL)
        {
                printf("FILE open ERORR\n");
                exit(1);
        }
        printf("before temp = %s\n",temp);
        fputs(temp,fp);
        fclose(fp);
       
        fp=fopen("test.txt","r");
        if(fp==NULL)
        {
                printf("FILE open ERORR\n");
                exit(1);
        }
        fgets(temp,100,fp);
        printf("after temp = %s\n",temp);
        fclose(fp);

        return 0;
}

/* 놀자 */

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

struct BOOK
{
        char name[20];
        char auth[20];
        int num;
        int cost;
        int total;
};

void main(void)
{
        struct BOOK book[5];
        struct BOOK temp;

        FILE *fp;
       
        int total=0;
        int idx;
        int i,j;

        fp = fopen( "c:\\book.txt" , "r" );
        if(fp==NULL)
        {
                printf("FILE open ERORR\n");
                exit(1);
        }
        for(idx=0;idx<=4;idx++)
        {
                fscanf(fp,"%s",book[idx].name);
                fscanf(fp,"%s",book[idx].auth);
       
                fscanf(fp,"%d",&book[idx].num);
                fscanf(fp,"%d",&book[idx].cost);
                book[idx].total=book[idx].cost*book[idx].num;
        }
        fclose(fp);
        for(i=0;i<=4;i++)
        {
                for(j=i+1;j<=4;j++)
                {
                        if(book[i].total < book[j].total)
                        {
                                temp = book[i];
                                book[i] = book[j];
                                book[j] = temp;
                        }
                }
        }


        fp = fopen( "c:\\result.txt" , "w+" );
        if(fp==NULL)
        {
                printf("OUTPUT FILE open ERORR\n");
                exit(1);
        }
        fprintf(fp,"----------------------------------------------------------------------------------\n\
        Subject      |        Author        |  Number |    Price   |     Income \n\
----------------------------------------------------------------------------------\n"
);
        for(idx=0;idx<=4;idx++)
        {
                fprintf(fp,"%20s | %20s | %7d | %10d | %10d\n",book[idx].name,book[idx].auth,book[idx].num,book[idx].cost,book[idx].total);
                fprintf(fp,"----------------------------------------------------------------------------------\n");
        }
        fclose(fp);     
}
 


놀자~ 라고 된 주석 뒷부분 부터 입니다.

텍스트 파일에서 정보를 읽어서 정렬을 한뒤 결과 파일로 저장해주는 프로그램입니다...
파일 입출력은 첫경험이라 덜덜덜 했다죠;;;
태그 : (올블로그 tag 검색이올린 tag 검색Technorati tag검색) , (올블로그 tag 검색이올린 tag 검색Technorati tag검색) , (올블로그 tag 검색이올린 tag 검색Technorati tag검색) , (올블로그 tag 검색이올린 tag 검색Technorati tag검색)
| 이 포스트에 대한 이용규약 |
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 라이센스 에 따라 이용하실 수 있습니다.
This work is licensed under a Creative Commons Attribution 2.0 Korea LicenseLink in a new window.

| 트랙백 & 댓글|
트랙백 주소 :: http://ohyung.net/tb/379
댓글을 씁니다. ( Write a comment )