I am new to Windows APIs. I am doing an exercise on printing the computer name to the console. Here is the code I have so far:
wchar_t compName[MAX_COMPUTERNAME_LENGTH+1]; DWORD maxSize = MAX_COMPUTERNAME_LENGTH+1 ; BOOL getName = GetComputerNameW(compName, &maxSize); wprintf(L"Computer name is: %s",compName);
The issue is on the output. I only see
Computer name is D on the console, when I should see
What am I doing wrong? I believe I am calling the right functions, per the MSDN docs. I have seen posts on StackOverflow regarding this issue, but it is in C++ and not C.
I feel like it has something to do with me printing a Unicode string.
The format specifier
%s is for printing a string pointed at by
char*, even in
You should use format specifier
%ls to print a string of wide characters.