Isaac87 2014. 8. 13. 16:12

fgetc, fputc

#include <stdio.h>
int main(void)
{
    FILE* stream;
    int file_state;   
    int input=0;

    stream=fopen("data1.txt", "w");
    if(stream==NULL)
        puts("파일 열기 에러");

    puts("데이터입력");
    while(input != EOF)
    {
        input=fgetc(stdin);
        fputc(input, stream);
    }
       
    file_state=fclose(stream);
    if(file_state==EOF)
        puts("파일 닫기 에러");
    return 0;
}
 

 

#include<stdio.h>
int main(void)
{
    FILE* stream1;    // 읽기 전용 파일 스트림 선언
    FILE* stream2;    // 쓰기 전용 파일 스트림 선언
    int input=0;

    stream1 = fopen("data1.txt","r");
    stream2 = fopen("data2.txt","w");

    puts("파일로부터 데이터를 입력");
    while( input != EOF )
    {
        input = fgetc(stream1);
        fputc(input, stream2);
        fputc(input, stdout);
    }
    fclose(stream1);
    fclose(stream2);
    return 0;
}

 

 

fgets, fputs

#include<stdio.h>
#define MAX 100

int main(void)
{
    FILE* stream;
    char buffer[50];   

    stream = fopen("data3.txt","w");
    if(stream == NULL)
        puts("파일 열기 오류");

    fgets(buffer,sizeof(buffer),stdin);
    fputs(buffer,stream);

    fclose(stream);

    return 0;
}
 

 

fscanf(), fprintf()

 

#include<stdio.h>
int main(void)
{
    FILE* stream;
    char name[20];
    int  kor, eng, total;

    printf("1. 이름입력: ");
    fscanf(stdin,"%s",name);                   // 키보드로부터 데이터를 입력
   
    printf("2. 국어점수, 영어점수입력: ");
    fscanf(stdin,"%d %d",&kor, &eng);     // 키보드로부터 데이터를 입력
    total = kor + eng;
                         
    stream = fopen("data4.txt","w");                
    fprintf(stream,"%s %d %d %d \n", name, kor, eng, total);  //data4.txt에 출력
    //fprintf(stdout,"%s %d %d %d \n", name, kor, eng, total);     // 모니터에 출력
    fclose(stream);
    return 0;
}
 

 

feof()

#include<stdio.h>
int main(void)
{
    FILE* stream1;
    FILE* stream2;
    char buffer[50];                  
   
    stream1 = fopen("data1.txt","r");
    stream2 = fopen("data2.txt","w");

    while( !feof(stream1) )
    {
        fgets(buffer,sizeof(buffer),stream1);
        fputs(buffer,stream2);
    }

    fclose(stream1);
    fclose(stream2);

    return 0;

 

fflush

#include<stdio.h>
int main(void)
{
    int age;
    char name[20];
   
    printf("나이입력: ");
    scanf("%d",&age);

    //fflush(stdin); // 입력 버퍼를비운다.
   
    printf("이름을 입력: ");
    fgets(name, sizeof(name), stdin);

    printf("%d\n",age);
    printf("%s\n",name);
   
    return 0;