字符串类型的转换问题? 谢谢

rfit 2000-05-02 06:05:00
PCSTR 、 LPSTR 、 LPCTSTR 、 LPTSTR

与 char、CString 之间如何转换?

我创建了一个对话框(用于查找文件),其中有两个Edit 编辑框 和一个按钮。
和 Edit 编辑框 对应的是 CString ,可是

BOOL SearchTreeForFile(IN LPSTR RootPath,IN LPSTR InputPathName,
OUT LPSTR OutputPathBuffer );

的参数是LPSTR,我用CSting不行。怎么办? 谢谢帮助
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rfit 2000-05-06
  • 打赏
  • 举报
回复
hi
simon_sun 2000-05-03
  • 打赏
  • 举报
回复
试试CString::GetBuffer();
sunqi 2000-05-03
  • 打赏
  • 举报
回复
用CString::GetBuffer();
用完后再调用CString::ReleaseBuffer();
luxyi 2000-05-02
  • 打赏
  • 举报
回复
我没有具体做过这件事,我就我的理解说说,有不对之处还请指教。

LPCSTR与LPSTR的区别在于中间的那个C。C表示constant,有c的表示是常量。这两个数据类型应该可以强制转换,如Sandy所述。这两个数据类型对应ASIIC类型的字符串。
LPCTSTR与LPTSTR的区别与上同。这两个数据类型对应的是Unicode的字符串。应该注意的是,这四个数据类型均为指针类型(因为有LP为前缀)。CString类既支持ASIIC又支持Unicode。所以由CString转换到上述四种数据类型可以强制转换。但从上述四种数据类型转换到CString估计不行。可能要利用CString的构造函数。至于char数据类型,它不是指针变量。但要是这样定义:char* pStr,我想应和LPSTR相同。与LPTSTR对应的应该是WCHAR*和TCHAR*。
Sandy 2000-05-02
  • 打赏
  • 举报
回复
可以用强制转化的方法!例如:(LPSTR)m_Str
其中m_Str是你的String型变量!

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧