2026-10-04 00:04:20 +08:00
|
|
|
//-----------------------------------------------------------------------------+
|
2026-09-28 15:28:50 +08:00
|
|
|
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
|
|
|
|
// = FileName : XAString.cpp
|
|
|
|
|
// = Version : ver2.0
|
|
|
|
|
// = Author : zjq
|
|
|
|
|
// = CreateDate : 2002-09-09
|
2026-10-04 00:04:20 +08:00
|
|
|
// = Description: 类的定义
|
2026-09-28 15:28:50 +08:00
|
|
|
// = Maintainers:
|
|
|
|
|
//
|
|
|
|
|
//-----------------------------------------------------------------------------+
|
|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "XAString.h"
|
|
|
|
|
#include "XGlobalFunc.h"
|
|
|
|
|
|
|
|
|
|
XAString::XAString(const char *format, ...)
|
|
|
|
|
: str(NULL)
|
|
|
|
|
{
|
|
|
|
|
if (!format)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else if (!format[0])
|
|
|
|
|
{
|
|
|
|
|
str = strnew("");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char value[1024];
|
|
|
|
|
va_list vlist;
|
|
|
|
|
va_start(vlist, format);
|
|
|
|
|
vsprintf(value, format, vlist);
|
|
|
|
|
va_end(vlist);
|
|
|
|
|
|
|
|
|
|
str = strnew(value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inline XAString & XAString::operator = (const char * src)
|
|
|
|
|
{
|
2026-10-04 00:04:20 +08:00
|
|
|
//允许泄漏
|
2026-09-28 15:28:50 +08:00
|
|
|
/*if (str)
|
|
|
|
|
{
|
|
|
|
|
delete[] str;
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
if (src)
|
|
|
|
|
{
|
|
|
|
|
str = strnew(src);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
str = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inline XAString & XAString::operator = (const XAString & src)
|
|
|
|
|
{
|
2026-10-04 00:04:20 +08:00
|
|
|
//允许泄漏
|
2026-09-28 15:28:50 +08:00
|
|
|
/*if (str)
|
|
|
|
|
{
|
|
|
|
|
delete[] str;
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
if (src.str)
|
|
|
|
|
{
|
|
|
|
|
str = strnew(src.str);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
str = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
|
}
|