0

wcsncat_s()连接两个的功能wchar_t*

errno_t wcsncat_s( wchar_t *restrict dest, rsize_t destsz, const wchar_t *restrict src, rsize_t count );

是否有连接两个的等效函数char16_t

4

2 回答 2

2

如果你想要一些便携的东西,你可以使用std::u16string 。

std::u16string str1(u16"The quick brown fox ");
std::u16string str2(u16"Jumped over the lazy dog");

std::u16string str3 = str1+str2;  // concatenate

const char16_t* psz = str3.c_str();

psz只要str3不超出范围,其有效性就会持续。

但更便携和灵活的解决方案是在任何地方都使用 wchar_t(在 Mac 上是 32 位)。除非您明确使用 16 位 char 字符串(可能用于特定的 UTf16 处理例程),否则将代码保留在宽 char ( wchar_t) 空间中会更容易。在 Mac 和 Windows 上更好地使用本机 API 和库。

于 2022-03-01T16:31:59.737 回答
2

并不真地。

但是,在 Windows 上,它在wchar_t功能上与.char16_tchar16_t*wchar_t*

否则,您可以通过为自己编写一个函数来简单地做到这一点。

于 2022-03-01T16:25:09.590 回答