1#ifndef __DCL_UNIX_WCS_H__
2#define __DCL_UNIX_WCS_H__ 20110117
10String
__mbstostr(
const char* _src,
size_t n = (
size_t) -1)
16size_t __mbstostr_nt(const
char* _mbs,
size_t _nmbs, String& _str);
17size_t __strtombs_nt(const String& _str,
char* _mbs,
size_t _nmbs);
19#define MBSTOSTR_ER(mbs, nmbs, str) \
20 if (__mbstostr_nt(mbs, nmbs, str) == (size_t)-1) { \
25#define STRTOMBS(str, mbs) \
26 size_t n##mbs = __strtombs_nt(str, NULL, (size_t)-1); \
28 if (n##mbs != (size_t)-1) { \
29 mbs = (char*)alloca((n##mbs + 1) * sizeof(char)); \
30 n##mbs = __strtombs_nt(str, mbs, n##mbs + 1); \
33#define STRTOMBS_ER(str, mbs) \
size_t __strtombs_nt(const String &_str, char *_mbs, size_t _nmbs)
size_t __mbstostr_nt(const char *_mbs, size_t _nmbs, String &_str)
__DCL_BEGIN_NAMESPACE String __mbstostr(const char *_src, size_t n=(size_t) -1) __DCL_THROWS1(CharsetConvertException *)
void CharsetConvertException *size_t n