我正在使用C语言中的Win32 API,并需要将GUID结构转换为LPCSTR。我对Win32相对较新,没有找到太多有关此类转换的信息。
我成功地使用StringFromGUID2函数将GUID转换为OLECHAR(请参见下面的代码片段),但在进一步转换为LPSCSTR时遇到了困难。我不确定我是否以正确的方向转换OLECHAR,但目前这似乎是合理的做法。
GUID guid;
OLECHAR wszGuid[40] = {0};
OLECHAR szGuid[40]={0};
LPCSTR lpcGuid;
CoCreateGuid(&guid);
StringFromGUID2(&guid, wszGuid, _countof(wszGuid));
sprintf
必须解析输入字符串并决定如何处理其他参数,但另一个则是完全专为此目的而建。最快的方法是使用第二种方法中明显的逻辑构建一个新的专用函数,直接将GUID转换为ANSI。 - Motomotes