#include <Windows.h>
#include "resource.h"
int main(void)
{
HINSTANCE hInst = GetModuleHandle(NULL);
LPWSTR p = NULL;
LoadStringW(hInst, IDS_STRING101, (LPWSTR)&p, 0);
printf("长度为: %d\n", wcslen(p));
}

目前共有3篇帖子。
![]() |
#include <stdio.h>
#include <Windows.h> #include "resource.h" int main(void) { HINSTANCE hInst = GetModuleHandle(NULL); LPWSTR p = NULL; LoadStringW(hInst, IDS_STRING101, (LPWSTR)&p, 0); printf("长度为: %d\n", wcslen(p)); } ![]() |
![]() |
参考资料:
https://msdn.microsoft.com/en-us/library/ms647486(VS.85).aspx nBufferMax [in] Type: int The size of the buffer, in characters. The string is truncated and null-terminated if it is longer than the number of characters specified. If this parameter is 0, then lpBuffer receives a read-only pointer to the resource itself. 最后一个参数设为0,可以获得指向字符串资源的原始指针。 只针对LoadStringW函数有效,LoadStringA不行。因为字符串资源里面只有Unicode版本的内容,没有ANSI版本的内容。自然就不存在指向ANSI版本内容的指针。 |
![]() |
![]() |