69,373
社区成员
发帖
与我相关
我的任务
分享
#define SET_STRA(str, member, action) \
FREE_STR(member); \
if(!str) \
{ \
action; \
} \
int len = strlen(str); \
if(!len) \
{ \
action; \
} \
member = (char*)malloc(len + 1); \
if(!member) \
{ \
action; \
} \
memset(member, 0, len + 1); \
strcat(member, str); \
#define SET_STRW(str, member, action) \
FREE_STR(member); \
if(!str) \
{ \
action; \
} \
int len = wcslen(str); \
if(!len) \
{ \
action; \
} \
member = (wchar_t*)malloc((len + 1) * sizeof(wchar_t)); \
if(!member) \
{ \
action; \
} \
memset(member, 0, (len + 1) * sizeof(wchar_t)); \
wcscat(member, str); \
#define DEF_SETSTRA(cls, str, member, Member) \
void cls::Set##Member##A(LPCSTR str) \
{ \
const wchar_t* wStr = AToW(str); \
do \
{ \
SET_STRW(wStr, member, break); \
} while (FALSE); \
FREE_BUFF(wStr); \
} \
#define DEF_SETSTRW(cls, str, member, Member) \
void cls::Set##Member##W(LPCWSTR str) \
{ \
SET_STRW(str, member, return); \
} \
#define DEF_SETSTRU(cls, str, member, Member) \
void cls::Set##Member##U(LPCSTR str) \
{ \
const wchar_t* wStr = UToW(str); \
do \
{ \
SET_STRW(wStr, member, break); \
} while(FALSE); \
FREE_BUFF(wStr); \
} \
#define DEF_SETSTR(cls, str, member, Member) \
DEF_SETSTRA(cls, str, member, Member) \
DEF_SETSTRW(cls, str, member, Member) \
DEF_SETSTRU(cls, str, member, Member) \