标准库string和如何使用到API调用中啊?

Linux2001 2004-11-15 09:05:27
我写程序时用到标准库的string,但是Windows API的字符串参数都是诸如LPSTR这样的,不会告诉我强制类型转换吧!哪位大哥麻烦解答一下
...全文
148 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2004-11-15
  • 打赏
  • 举报
回复
用string,就需要进行转换
erensheep 2004-11-15
  • 打赏
  • 举报
回复
没有不方便吧,直接使用string对象的c_str成员函数怎么会不方便呢,而且string给你
带了了多少方便啊
barsteng 2004-11-15
  • 打赏
  • 举报
回复
typedef basic_string<wchar_t> wstring;
Linux2001 2004-11-15
  • 打赏
  • 举报
回复
麻烦再问一个问题标准库中的string是否默认支持UNICODE
Linux2001 2004-11-15
  • 打赏
  • 举报
回复
直接构造string的时候当作参数传递进去就OK了啊
alino 2004-11-15
  • 打赏
  • 举报
回复
如果想把char[]/char*转为String应该怎么办呢?
Linux2001 2004-11-15
  • 打赏
  • 举报
回复
那这样岂不是非常麻烦,每次用到标准库string的时候,如果要当作参数传递给API还得先转换为char*才行?
aben456 2004-11-15
  • 打赏
  • 举报
回复
94啊,习惯就好
Linux2001 2004-11-15
  • 打赏
  • 举报
回复
问题是,如果这样使用标准库,岂不是非常痛苦,每个字符串变量要用到API中的时候都要先转换为char *
danyueer 2004-11-15
  • 打赏
  • 举报
回复
string strMsg;
char* pChar = NULL;
pChar = strMsg.c_str();
yanw0212 2004-11-15
  • 打赏
  • 举报
回复
CString str = m_pRs.GetLastErrorString();
// MessageBox(NULL,str,"",0 | 0x00200000L);

int len = str.GetLength();
TCHAR* pchar;
pchar = str.GetBuffer(len + 1);

// BOOL AddLogtoQ(string str)
AddLogtoQ(string(pchar));
str.ReleaseBuffer();
pchar = NULL;
barsteng 2004-11-15
  • 打赏
  • 举报
回复
呵呵,你可以在你的程序中定义啊,就像TCHAR的定义一样。。。
#if define(_UNICODE)
typedef std::wstring mystring;
#else
typedef std::string mystring;
#end if
Linux2001 2004-11-15
  • 打赏
  • 举报
回复
那么是不是如果要支持UNICODE就得使用wstring,真是麻烦啊!

16,472

社区成员

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

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

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