카테고리 없음

38. fprintf

리더2333 2020. 11. 10. 11:16
반응형
#include <stdio.h>  // C++ 에서는 <cstdio>

int fprintf(FILE* stream, const char* format, ...);

stream

작업을 수행할 스트림의 FILE 객체

format

스트림에 쓰여질 텍스트 서식문자가 있으면 치환된 데이타가 들어간다.

서식문자

%c 문자(아스키코드값) ex) a
%d or %i 부호 있는 십진수의 정수 ex) 392
%e 지수표기법으로 출력(e사용) ex) 3.9296e+2
%E 지수표기법으로 출력(E사용) ex) 3.9396E+2
%f 십진법의 부동소수점의 수 ex) 392.65
%g %e 나 %f 보다 간략하게 출력 ex) 392.65
%G %E 난 %f 보다 간략하게 출력 ex) 392.65
%o 부호 있는 팔진수 ex) 610
%s 문자열 ex) sample
%u 부호 없는 십진수의 정수 ex) 7235
%x 부호없는 16진법의 수(소문자사용) ex) 7fa
%X 부호없는 16진법의 수(대문자사용) ex) 7FA
%p 포인터 주소 ex) B800:0000
%n 아무것도 출력되지 않는다. 그 대신 인자로 부호 있는 int 형을 가리키는 포인터를 전달해야 되는데, 여기에 현재까지 쓰여진 문자 수가 저장된다.  
%% %다음에 %를 또 붙이면 stdout 에 %를 출력한다.  
#include <stdio.h>

int main()
{
    FILE* pFile = NULL;
    // w(쓰기모드) t(텍스트모드)
    fopen_s(&pFile, "sample.txt", "wt");

    if (pFile)
    {
        fprintf(pFile, "abcd %d\n", 10);
        fprintf(pFile, "1234 %f\n", 9.8f);

        fclose(pFile);
    }

    return 0;
}

결과 : sample.txt

abcd 10
1234 9.800000

반응형