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: ***************
*
*****
********
***
***
*****
******
********
**********
*/