我想将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
答案 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;
未经测试的代码