ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C/C++ printf(3), fprintf(3)
    C,C++ & Linux 2020. 5. 22. 12:20
    728x90

    함수 기능

    주어진 형식에 맞추어진 문자열을 파일에 출력하는 함수입니다.

     

    printf() 함수는 stdout(표준 출력 파일)에 출력합니다.

     

    함수 원형

    #include <stdio.h>
    
    int printf(const char *format, ...);
    int fprintf(FILE *fp, const char *format, ...);

     

    매개변수

    format

    형식 지정자

     

    % 와 묶어서 다양한 형식을 지정할 수 있습니다.

     

    플래그

    플래그 설명
    - 필드 안에서 왼쪽으로 정렬
    + 항상 부호를 표시
    (공백) 부호가 없는 경우 공백을 붙임
    # 다른 형식을 이용해서 변환
    0 필드 앞쪽의 빈 공간을 0으로 채움

    길이 수정자

    길이 수정자 설명
    hh char
    h short
    l long 또는 넓은 문자
    ll long long
    j intmax_t 또는 unimax_t
    z size_t
    t ptrdiff_t
    L long double

    변환 형식

    변환 형식 설명
    d, i 부호 있는 10진수
    o 부호 없는 8진수
    u 부호 없는 10진수
    x, X 부호 없는 16진수
    f, F double
    e, E 지수 형식의 double
    g, G 변환되는 값에 따라 f 또는 e 로 해석
    a, A 16진 지수 형식의 double
    c 문자
    s 문자열
    p void 포인터
    n 부호 있는 정수를 가리키는 포인터
    % %문자 자체
    C 넓은 문자
    S 넓은 문자열

     

     

    ...

    가변 인자로 여러 개의 파라미터를 ,(쉼표)로 엮어서 지정할 수 있습니다.

     

    fp

    출력할 대상 파일 포인터

    반환값

    성공 시 파일에 출력된 글자 수 리턴

    에러 시 음의 정수 리턴

    예제

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    
    int main(int argc, char *argv[]) {
        char *text = "My test txt!\n";
        FILE *fp;
    
        fp = fopen("ssu_test.txt", "w");
        printf("%s", text);
        fprintf(fp, "%s", text);
        exit(0);
    }
    

     

    결과

     

     

     

     

     

     

     

     

     

     

    리눅스시스템프로그래밍 저자 : 홍지만
    https://book.naver.com/bookdb/book_detail.nhn?bid=14623672

    책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)

    'C,C++ & Linux' 카테고리의 다른 글

    C/C++ scanf(3), fscanf(3), sscanf(3)  (0) 2020.05.22
    C/C++ sprintf(3), snprintf(3)  (0) 2020.05.22
    C/C++ fgetpos(3), fsetpos(3)  (0) 2020.05.22
    C/C++ rewind(3)  (0) 2020.05.22
    C/C++ ftell(3), ftello(3)  (0) 2020.05.22

    댓글

Designed by Tistory.