永发信息网

当函数的参数类型为LPCSTR时,且该参数为输出参数。该如何定义这个参数,并将结果输出

答案:1  悬赏:10  手机版
解决时间 2021-02-12 21:30
  • 提问者网友:回忆在搜索
  • 2021-02-11 22:00
当函数的参数类型为LPCSTR时,且该参数为输出参数。该如何定义这个参数,并将结果输出
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-02-11 23:09
LPCTSTR类型:
LP:long型指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。
C:常量;
T:和_T含义一样,应该是UNICODE型;
STR:字符串

再看看LPCTSTR的定义:
以下摘自 MS的头文件

// ANSI (Multi-byte Character) types
typedef CONST CHAR *LPCSTR, *PCSTR;

#ifdef UNICODE // r_winnt
typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
typedef CONST WCHAR *LPCWSTR, *PCWSTR;
typedef LPCWSTR LPCTSTR;

typedef LPCSTR LPCTSTR;

如果没有定义UNICODE,LPCTSTR实际上就是CONST char *
如果定义了UNICODE,LPCTSTR实际上变成了CONST unsigned short

所以char *和LPCSTR可以强制转换
char* p;
LPCTSTR lp;
p = (LPSTR)lp;

用CString或WideCharToMultiByte来处理追问能别复制粘贴嘛 GetDevPSNA_SageAPI(CHAR aDiskLetter,LPCSTR aDevPSN);
这个函数CHAR aDiskLetter为输入参数,LPCSTR aDevPSN为输出参数。具体该怎么写
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯