fprintf() — 스트림에 형식화된 데이터 쓰기

형식

#include <stdio.h>
int fprintf(FILE *stream, const char *format-string, argument-list);

언어 레벨

ANSI

스레드세이프

로케일 감지

이 함수의 작동은 현재 로케일의 LC_CTYPE 및 LC_NUMERIC 범주의 영향을 받을 수 있습니다. 컴파일 명령에 LOCALETYPE(*LOCALEUCS2) 또는 LOCALETYPE(*LOCALEUTF)가 지정된 경우에도 작동은 현재 로케일의 LC_UNI_CTYPE 범주의 영향을 받을 수 있습니다. 자세한 정보는 CCSID 및 로케일 이해의 내용을 참조하십시오.

설명

fprintf() 함수는 일련의 문자와 값을 형식화하여 출력 stream에 씁니다. fprintf() 함수는 argument-list의 각 항목(있는 경우)을 변환하고 format-string의 해당 형식 스펙에 따라 스트림에 씁니다.

format-string의 양식과 함수는 printf() 함수의 format-string 인수와 같습니다.

리턴값

fprintf() 함수는 출력 오류가 발생하면 인쇄되거나 음수 값인 바이트 수를 리턴합니다.

fprintf()의 errno 값에 대한 정보는 printf() — 형식화된 문자 출력의 내용을 참조하십시오.

이 예는 배열 count의 각 정수에 대한 별표(*) 행을 myfile 파일로 송신합니다. 각 행에 인쇄되는 별표(*) 수는 배열의 정수에 해당합니다.
#include <stdio.h>
 
int count [10] = {1, 5, 8, 3, 0, 3, 5, 6, 8, 10};
 
int main(void)
{
   int i,j;
   FILE *stream;
 
   stream = fopen("mylib/myfile", "w");
                  /* Open the stream for writing */
   for (i=0; i < sizeof(count) / sizeof(count[0]); i++)
   {
      for (j = 0; j < count[i]; j++)
         fprintf(stream,"*");
                  /* Print asterisk              */
         fprintf(stream,"\n");
                  /* Move to the next line       */
   }
   fclose (stream);
}
 
/*******************  Output should be similar to:  ***************
 
*
*****
********
***
 
***
*****
******
********
**********
*/