这三个字符转变量加起来怎么不对啊?

hbboy 2004-05-14 01:40:29
请问下面的语句有错吗?
为什么AfxMessageBox(str1+str2+str3);这句显示是空的呢?


CString str1,str2,str3;
globle_strDataSource="DSN=webwolf_chinakorea;UID=sa;PWD=gyj;";
CString stempini;
::GetPrivateProfileString("ID_SYSTEM_CONFIG","DSN","webwolf_chinakorea",stempini.GetBuffer(MAX_PATH),MAX_PATH,".\\config.ini");
str1 = stempini;
AfxMessageBox(str1);
::GetPrivateProfileString("ID_SYSTEM_CONFIG","UID","sa",stempini.GetBuffer(MAX_PATH),MAX_PATH,".\\config.ini");
str2 = stempini;
AfxMessageBox(str2);
::GetPrivateProfileString("ID_SYSTEM_CONFIG","PWD","gyj",stempini.GetBuffer(MAX_PATH),MAX_PATH,".\\config.ini");
str3 = stempini;
AfxMessageBox(str1+str2+str3);
...全文
104 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
enoloo 2004-05-14
  • 打赏
  • 举报
回复
--> char stempini[MAX_PATH];
enoloo 2004-05-14
  • 打赏
  • 举报
回复
用char*不行么?

char* stempini;
::GetPrivateProfileString("ID_SYSTEM_CONFIG","DSN","webwolf_chinakorea",stempini,MAX_PATH,".\\config.ini");

CString str1(stempini);
菜牛 2004-05-14
  • 打赏
  • 举报
回复
CString不支持连续加的吧,试试:
str1 += str2;
str1 += str3;
AfxMessageBox(str1);
hbboy 2004-05-14
  • 打赏
  • 举报
回复
各位不妨试一试啊,看效果怎么样啊!!!!!!!!1
hbboy 2004-05-14
  • 打赏
  • 举报
回复
对于 ini 的位置,最好是获取一个绝对的路径,另外,不用 stempini.GetBuffer(MAX_PATH) ,就直接用 stempini 了,因为 GetBuffer 了,还要释放。
==========================
请教,如果我改成
::GetPrivateProfileString("ID_SYSTEM_CONFIG","DSN","webwolf_chinakorea",stempini,MAX_PATH,".\\config.ini");
则编译的时候出现错误:
PoliceHelp.cpp
J:\vc\PoliceHelp\PoliceHelp.cpp(113) : error C2664: 'GetPrivateProfileStringA' : cannot convert parameter 4 from 'class CString' to 'char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.
Kudeet 2004-05-14
  • 打赏
  • 举报
回复
肯定是没有得到正确的str1,str2,str3
hbboy 2004-05-14
  • 打赏
  • 举报
回复
读出来的是一些字符串啊,这些都正常,就是加起来不正确了,是空值!
enoloo 2004-05-14
  • 打赏
  • 举报
回复
str1,str2,str3上面弹出的对话框是空吗?

中间是不是有什么操作改变了str1,str2,str3的值?

byry 2004-05-14
  • 打赏
  • 举报
回复
肯定是没有得到正确的str1,str2,str3
王国凡 2004-05-14
  • 打赏
  • 举报
回复
读出来的是什么内容 ?
王国凡 2004-05-14
  • 打赏
  • 举报
回复
对于 ini 的位置,最好是获取一个绝对的路径,另外,不用 stempini.GetBuffer(MAX_PATH) ,就直接用 stempini 了,因为 GetBuffer 了,还要释放。
hbboy 2004-05-14
  • 打赏
  • 举报
回复
你单步跟踪一下,看str1,str2,str3是否有值
==========================
str1,str2,str3都有值,就是不能相加,如果这些str1,str2,str3不是读的注册表的值则可以相加!
hbboy 2004-05-14
  • 打赏
  • 举报
回复
我的这些代码的目的是读出ini文件中的值,把这些值赋给全局变量,但是我发现读出的变量不能赋给一个变量后,这个变量不能进行相加,请问是为什么啊?
lixiaosan 2004-05-14
  • 打赏
  • 举报
回复
你单步跟踪一下,看str1,str2,str3是否有值

16,466

社区成员

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

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

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