TCHAR []转换为String

时间:2013-08-27 15:17:18

标签: c++ c windows

我想将TCHAR nameBuf[]转换为string

TCHAR nameBuf[MAX_COMPUTERNAME_LENGTH + 2];

DWORD nameBufSize;

nameBufSize = sizeof nameBuf - 1;

GetComputerName(nameBuf, &nameBufSize); //store computer name into nameBuf

_tprintf(_T("%s"), nameBuf); //print the computer name

2 个答案:

答案 0 :(得分:0)

让我们清楚地说明这个类型。请参阅以下修改后的代码:

WCHAR nameBuf[MAX_COMPUTERNAME_LENGTH + 2];

DWORD nameBufSize;

nameBufSize = sizeof nameBuf - 1;

GetComputerNameW(nameBuf, &nameBufSize); //store computer name into nameBuf

wprintf_s(L"%s", nameBuf); //print the computer name

答案 1 :(得分:0)

如果你想使用窄字符(好像你这样做)那么这段代码

char nameBuf[MAX_COMPUTERNAME_LENGTH + 2];
DWORD nameBufSize;
nameBufSize = sizeof nameBuf - 1;
GetComputerNameA(nameBuf, &nameBufSize); //store computer name into nameBuf
printf_s("%s", nameBuf); //print the computer name
string NAME = nameBuf;

未经测试的代码

相关问题