[讨论]char *的升级问题关于void **的问题!!!

lferlu 2007-04-21 05:21:10
下面是我昨天的问题:

//=====================================================================
char *password;
if (GetPassWord(pdDoc, permsWanted, (void **)&password))
{
...
}

GetPassWord是一个Confirm对话框窗口,输入密码的窗口的,当返回true后,将得到的密码附加在(void **)&password里,我现在不想用这个对话窗口,而直接使用变量对password附值,我该怎么写呀,试了一天都不行,求救呀

我直接char* password = "1111";运行到if语句里面后,就弹出
"0x018cd966"指令引用的"0x00313131"内存。该内存不能为"written"
错误,这咋搞呀!!!!!!
//=====================================================================

谢谢前面的同仁们帮我解答,我已结贴散分了,但是问题还没完全解决,所以这里再开此贴。
我将代码改成这样了,如下:
char password[20] = "1111";
if (UserConfirm("确定要打开吗?"))
{
...
}
UserConfirm是自己写的一个确认窗口,可还是报错,提示如下:
0x0301bc95 处未处理的异常: 0xC0000005: 读取位置 0x0011ce00 时发生访问冲突

因为GetPassWord是已经封装好的类,所以不知里面是如何操作的,这里希望大家讨论下,该怎么饶过它呢?
...全文
294 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lferlu 2007-04-22
  • 打赏
  • 举报
回复
哦,试出来了,是char *password = new char[1024];先在这里谢了 不过但不知道怎么搞的,还是有错误,提示“发生未处理的win32异常” 晕了,还能怎么样啊
  • 打赏
  • 举报
回复
这样就好了
char *password;
if (GetPassWord(pdDoc, permsWanted, (void **)&password))
{
char** p = password;
*p = new char[1024];
strcpy((char*)*password , "aaaaaaa" );用//strncpy的时候多了一个参数
}
lferlu 2007-04-22
  • 打赏
  • 举报
回复
akirya(坏[其实偶不是什么所谓的坏人]) ( ) 信誉:100 Blog 加为好友 2007-4-21 17:28:49 得分: 0



刚才代码有点错误

char *password;
if (GetPassWord(pdDoc, permsWanted, (void **)&password))
{
*password = new char[1024];
strcpy((char*)*password , "aaaaaaa" );用//strncpy的时候多了一个参数
}

=====================================================
akirya(坏[其实偶不是什么所谓的坏人]) 我用的代码,怎么说提示*password = new char[1024];这句有cannot convert from 'char *' to 'char'错误呀?

simulationz 2007-04-21
  • 打赏
  • 举报
回复
char* password = "1111";这句是有问题的,password指向常量字符,只能读不能写.如果需要改password的值,必须是能修改的字符地址.
  • 打赏
  • 举报
回复
刚才代码有点错误

char *password;
if (GetPassWord(pdDoc, permsWanted, (void **)&password))
{
*password = new char[1024];
strcpy((char*)*password , "aaaaaaa" );用//strncpy的时候多了一个参数
}
  • 打赏
  • 举报
回复
char *password;
if (GetPassWord(pdDoc, permsWanted, (void **)&password))
{
*password = new char[1024];
strncpy((char*)*password , "aaaaaaa" );
}

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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