Windows数据类型LPSTR学习

Windows在C语言的基础之上又定义了一些Windows下的数据类型;下面学习一下LPSTR;

LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的32位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的64位双字节字符数组指针。

先看LPSTR;

#include 
#include 

int main()
{
    LPSTR szstr1 = "windows data type,  string";
    CHAR lpstr[50];

    MessageBox(NULL, szstr1, "LPSTR", MB_OK);
    CopyMemory(lpstr, szstr1, lstrlen(szstr1)+1);
    MessageBox(NULL, lpstr, "CHAR[]", MB_OK);

    system("pause");
    return 0;
}

包含 Windows.h 之后可以调用 Win32 API 和使用Windows数据类型;

在开发环境转到定义看一下;

在 winnt.h 中,
typedef CHAR *LPSTR, *PSTR;
typedef CONST CHAR *LPCSTR, *PCSTR;

LPSTR由 typedef 定义为指向 CHAR 类型的指针;

而 CHAR 类型,在 winnt.h 中,
#ifndef VOID
#define VOID void
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
#endif

CHAR是 typedef 定义的char,但是是包含在一个 #if 中;

CopyMemory是一个Windows API函数,它能将一块内存数据从一个位置复制到另一个位置;

运行如下,

Windows数据类型LPSTR学习_第1张图片

Windows数据类型LPSTR学习_第2张图片 

 

可以参考下面两文的相关描述,

VC++ 字符串操作学习总结_bcbobo21cn的博客-CSDN博客

C语言typedef和Windows数据类型_typedef word_bcbobo21cn的博客-CSDN博客

你可能感兴趣的:(VC++,LPSTR,CHAR)