2009년 11월 12일
std::string 의 CString::format 구현
format 구현
※ 주의 : 리눅스에선 정상작동이 안될수 있습니다!!!
<소스>
#include <stdarg.h>
std::string format_arg_list(const char *fmt, va_list args)
{
if (!fmt) return "";
int result = -1, length = 256;
char *buffer = 0;
while (result == -1)
{
if (buffer) delete [] buffer;
buffer = new char [length + 1];
memset(buffer, 0, length + 1);
result = vsnprintf(buffer, length, fmt, args);
length *= 2;
}
std::string s(buffer);
delete [] buffer;
return s;
}
std::string format(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
std::string s = format_arg_list(fmt, args);
va_end(args);
return s;
}
출처 : http://blog.yurihan.net/70
이상!!
# by | 2009/11/12 16:52 | VC++ | 트랙백 | 덧글(1)



