c++中宽字符的问题
wstring ButtonText = L"5";
wchar_t *num = new wchar_t[30];
我想将ButtonText中的字符串加到num的末尾。应该怎么加?
要是num中已经加了2个字符,又是怎么把ButtonText中的东西加入到num的末尾中?? C++ wstring wchar_t 字符串连接
[解决办法]
wcscat
用法同strcat
[解决办法]
看这里
[解决办法]
wchar_t *wcscat(
wchar_t *strDestination,
const wchar_t *strSource
);
errno_t strcat_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
errno_t wcscat_s(
wchar_t *strDestination,
size_t numberOfElements,
const wchar_t *strSource
);
都可以
wcscat(num,L"new text 111");
wcscat_s(num, 30, L"new text 222");
[解决办法]
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
int main() {
wcout.imbue(locale("chs"));
wstring ButtonText = L"一二三四五六七八九十";
wchar_t *num = new wchar_t[30];
wcscpy(num,L"一二三四五六七八九〇1234567890");
wcsncat(num,ButtonText.c_str(),29-wcslen(num));num[29]=0;
wcout<<num<<endl;
delete[] num;
return 0;
}
//一二三四五六七八九〇1234567890一二三四五六七八九
//