본문 바로가기

Programming/C/C++

vsprintf

vsprintf




기능

포맷된 출력을 문자열에 기록한다.

문법

#include <stdarg.h>
int vsprintf(char *buffer, const chat *format va_list arglist);

DOS

UNIX

Windows

ANSI C

C++ only

 

 

주석

UNIX System V에서 사용 가능하다. v...printf함수는 ...printf함수를 위한 대치 입력점으로 알려져 있다. 이 함수는 ...printf 상대역과 똑같은 행동을 하지만 인수 목록 대신 인수의 목록 포인터를 받아들인다.

vsprintf는 일련의 인수를 받아들이고 각 인수에 format이 가리키는 포맷문자열에 들어있는 포맷 명시자를 공급한 뒤 포맷된 데이터를 문자열에 출력한다.  이때 인수와 같은 수의 포맷 명시자가 있어야 한다.(포맷 명시자에 대한 자세한 설명은 printf를 참조하라).

반환값

vsprintf는 출력된 바이트 수를 반환하며 에러가 발생하며 ,EOF를 반환한다.

참조

printf,va_arg,va_end,va_start

예제

#include <stdio.h>
#include <conio.h>
#include <stdarg.h>

char buffer[80];

int vspf(char *fmt, ...)
{
   va_list argptr;
   int cnt;

   va_start(argptr, fmt);
   cnt = vsprintf(buffer, fmt, argptr);
   va_end(argptr);

   return(cnt);
}

int main(void)
{
   int inumber = 30;
   float fnumber = 90.0;
   char string[4] = "abc";

   vspf("%d %f %s", inumber, fnumber, string);
   printf("%s\n", buffer);
   return 0;
}

'Programming > C/C++' 카테고리의 다른 글

stl <sort> 함수 사용하기  (0) 2009.04.13
아스키 코드표  (0) 2009.04.02
C언어 가변 인자  (0) 2008.12.24
exturn "C"  (0) 2008.12.02
함수포인터  (0) 2008.12.01