C언어/C언어 예제

[C언어 소스] fprintf 함수 사용 예제

언제나휴일 2016. 4. 30. 01:57
반응형

fprintf 함수 사용 예제

//C언어 표준 라이브러리 함수 사용법 가이드

//int fprintf(FILE *fp, const char * format, ...); 파일 스트림에 포멧을 지정하여 출력하는 함수

//다양한 포멧 지정을 사용하여 파일에 출력

#pragma warning(disable:4477)

#include <limits.h>

#include <math.h>

#include <stdio.h>

 

void main (void)

{

    FILE *fp;   

 

    fopen_s(&fp,"output.txt","wt");//파일 열기

    if(fp == NULL)

    {

        perror("fopen 실패");

        return;

    }

   

    //다양한 포멧 지정을 사용하여 출력

    fprintf(fp,"================type====================\n");

    fprintf(fp,"1. 십진수로 출력: % -d \n", 123);

    fprintf(fp,"2. 부호있는 십진수로 출력: %i \n", 123);

    fprintf(fp,"3. 부호없는 8진수로 출력: %o \n", 123);

    fprintf(fp,"4. 부호없는 십진수로 출력: %u \n", 123);

    fprintf(fp,"5. 부호없는 16진수로 출력(소문자): %x \n", 123);

    fprintf(fp,"6. 부호없는 16진수로 출력(대문자): %X \n", 123);   

    fprintf(fp,"7. 부동 소수점 표기로 출력: %f \n",123.45);

    fprintf(fp,"8. 지수형 표기로 출력(소문자): %e  \n",123.45);

    fprintf(fp,"9. 지수형 표기로 출력(대문자):  %E \n",123.45);

    fprintf(fp,"10. 간단한 표기로 출력(소문자): %g \n",123.45);

    fprintf(fp,"11. 간단한 표기로 출력(대문자): %G \n",123.45);

    fprintf(fp,"12. 문자 출력: %c \n",'a');

    fprintf(fp,"13. 문자열 출력: %s \n", "Hello");

    fprintf(fp,"14. 퍼센트 문자 출력: %%\n");

    fprintf(fp,"15. 메모리 주소 출력: %p \n","Hello");

    fprintf(fp,"16. long long 형식 출력: %lld\n", 0x123456789012345);   

 

    fprintf(fp,"================flag====================\n");

    fprintf(fp,"1. flag 지정하지 않고 10진수로 출력: %8d \n",123);

    fprintf(fp,"2. flag -를 지정하여 10진수로 출력: %-8d \n", 123);

    fprintf(fp,"3. flag +를 지정하여 10진수로 출력: %+d\n",123);

    fprintf(fp,"4. flag 지정하지 않고 8진수로 출력: %o\n",123);

    fprintf(fp,"5. flag #을 지정하여 8진수로 출력: %#o\n",123);

    fprintf(fp,"6. flag 지정하지 않고 16진수로 출력:%X\n",123);

    fprintf(fp,"7. flag #을 지정하여 16진수로 출력:%#X\n",123);

 

    fprintf(fp,"===========width .prec, modifier ======\n");

    fprintf(fp,"1.flag #을 지정하여 16진수로 출력(대문자): %#X \n",0x123456);

    fprintf(fp,"2.flag #, modifier h를 지정하여 16진수로 출력(대문자): %#hX \n",0x123456);

    fprintf(fp,"3.flag #, width 12 지정하여 16진수로 출력(대문자): %#12X \n",0x123456);

    fprintf(fp,"4.flag #, width 012 지정하여 16진수로 출력(대문자): %#012X \n",0x123456);

    fprintf(fp,"5. .prec .3을 지정하여 부동 소수점 표기로 출력: %.3f \n",123.456789);

   

 

    fprintf(fp,"===========1234567890123 출력 ===========\n");

    //테스트를 위해 의도적으로 큰 수를 다양한 포멧으로 출력

    //4477 경고 메시지는 맨 위에 #pragma 매크로로 disable 시킴

    fprintf(fp,"1.hhd 사용: %hhd\n", 1234567890123);

    fprintf(fp,"2.hd 사용:%hd\n", 1234567890123);

    fprintf(fp,"3.ld 사용:%ld\n", 1234567890123);

    fprintf(fp,"4.lld 사용:%lld\n", 1234567890123);

    fprintf(fp,"5.jd 사용:%jd\n", 1234567890123);

    fprintf(fp,"6.zd 사용:%zd\n", 1234567890123);

    fprintf(fp,"7.td 사용:%td\n", 1234567890123);

 

    fprintf(fp,"========pow(10.0,-50)출력======\n");

    fprintf(fp,"Lf 사용:%.50Lf\n", pow(10.0,-50));

 

    //파일 닫기

    fclose(fp);

}

 

새로 만들어진 output.txt 내용

================type====================

1. 십진수로 출력:  123

2. 부호있는 십진수로 출력: 123

3. 부호없는 8진수로 출력: 173

4. 부호없는 십진수로 출력: 123

5. 부호없는 16진수로 출력(소문자): 7b

6. 부호없는 16진수로 출력(대문자): 7B

7. 부동 소수점 표기로 출력: 123.450000

8. 지수형 표기로 출력(소문자): 1.234500e+02 

9. 지수형 표기로 출력(대문자):  1.234500E+02

10. 간단한 표기로 출력(소문자): 123.45

11. 간단한 표기로 출력(대문자): 123.45

12. 문자 출력: a

13. 문자열 출력: Hello

14. 퍼센트 문자 출력: %

15. 메모리 주소 출력: 00867D70

16. long long 형식 출력: 81985529205302085

================flag====================

1. flag 지정하지 않고 10진수로 출력:      123

2. flag -를 지정하여 10진수로 출력: 123     

3. flag +를 지정하여 10진수로 출력: +123

4. flag 지정하지 않고 8진수로 출력: 173

5. flag #을 지정하여 8진수로 출력: 0173

6. flag 지정하지 않고 16진수로 출력:7B

7. flag #을 지정하여 16진수로 출력:0X7B

===========width.prec, modifier ======

1.flag #을 지정하여 16진수로 출력(대문자): 0X123456

2.flag #, modifier h를 지정하여 16진수로 출력(대문자): 0X3456

3.flag #, width 12 지정하여 16진수로 출력(대문자):     0X123456

4.flag #, width 012 지정하여 16진수로 출력(대문자): 0X0000123456

5. .prec .3을 지정하여 부동 소수점 표기로 출력: 123.457

===========1234567890123 출력 ===========

1.hhd 사용: -53

2.hd 사용:1227

3.ld 사용:1912276171

4.lld 사용:1234567890123

5.jd 사용:1234567890123

6.zd 사용:1912276171

7.td 사용:1912276171

========pow(10.0,-50)출력======

Lf 사용:0.00000000000000000000000000000000000000000000000001


언제나 휴일에서는 출간하는 서적의 내용을 온라인에 배포하고 있으며 무료 동영상 강의를 제작 배포하고 있습니다.

언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형