VC驿站

 找回暗码
 参加驿站

QQ登录

只需一步,快速开端

查找
检查: 48|回复: 0
打印 上一主题 下一主题

课程Windows 程序设计第31课作业的小问题

[仿制链接]
31_avatar_middle
最佳答案
0 
跳转到指定楼层
1#
作业中第2种方法 【一般的C言语指针数组方法,经过函数参数传出】  请问要怎么完结
我下载了课后答案 可是只要第3种方法的完结  (自己小白 没用过char** 这种格局)
我想看看第二种应该怎么完结
第二种函数如下
  1. bool GetTempFolders(TCHAR** pszTempFolders, int* pOutCount)
  2. {
  3.         TCHAR* pWinTemp = new TCHAR[MAX_PATH];
  4.         TCHAR* pUserTemp = new TCHAR[MAX_PATH];

  5.         GetTempPath(MAX_PATH, pUserTemp);
  6.         GetWindowsDirectory(pWinTemp, MAX_PATH);
  7.         _tcscat_s(pWinTemp, MAX_PATH ,_T("\\Temp\"));
  8.         pszTempFolders[0] = pWinTemp;
  9.         pszTempFolders[1] = pUserTemp;
  10.         *pOutCount = 2;
  11.         return true;
  12. }
仿制代码

我自己改的调用方法
  1.         TCHAR* pszTempFolders;
  2.         int pOutCount;
  3.         GetTempFolders(&pszTempFolders, &pOutCount);
  4.         for (UINT idx = 0; idx < pOutCount; idx++)
  5.         {
  6.                 TCHAR* pTempPath = *(&pszTempFolders + idx);
  7.                 if (!pTempPath || _tcslen(pTempPath) <= 0) continue;
  8.                 static CString strId;
  9.                 strId.Format(_T("%d"), idx + 1);
  10.                 m_ExplorerList.InsertItem(idx, strId);
  11.                 m_ExplorerList.SetItemText(idx, 1, pTempPath);
  12.                 delete[] pTempPath;
  13.         }
仿制代码

可是上面这样写会报反常 ,持续运转的化能正常运转,我不明白为什么报反常
Run-Time Check Failure #2 - Stack around the variable 'pszTempFolders' was corrupted.
课程Windows 程序设计第31课作业的小问题
经过网络  把“project->装备特点->c/c++->代码生成->根本运转时检查 设置为默认值,就没有这样的反常了。
【我的环境vs2017默认值是 两者】
请问有没有其他方法在不改这个设定的前提下 改动代码然后正常运转  或者是正确的调用方法是什么




上一篇:MFC的botton控件
下一篇:asend 这是什么函数?有什么用?
您需求登录后才能够回帖 登录 | 参加驿站 qq_login

本版积分规矩

×【发帖 友谊提示】
1、请回复有意义的内容,请勿歹意灌水;
2、纯数字、字母、表情等无意义的内容体系将主动删去;
3、若正常回复后帖子被主动删去,为体系误删的状况,请从头回复其他正常内容或等候管理员审阅经过后会主动发布;
4、感谢您对VC驿站自始自终的支撑,谢谢合作!

封闭

站长提示上一条 /2 下一条

|小黑屋|手机版|VC驿站 ( )|网站地图QQ

GMT+8, 2020-5-17 01:48

Powered by vog2jy.com

© 2009-2020 vog2jy.com

快速回复 回来顶部 回来列表