中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從一段代碼談GetPrivateProfileString的深坑

發布時間:2020-07-05 01:31:51 來源:網絡 閱讀:3647 作者:忘記江南 欄目:開發技術

**總結:GetPrivateProfileString注意文件是否存在,

文件不存在或不具有r讀權限會在運行時報內存錯誤。**

失敗源代碼如下:

string programDir = GetOcxPath(file);//得到ini配置文件路徑

ret = GetPrivateProfileString(app,key,"",returnString,MAX_PATH,"c:\\base64bmp_config.ini");

這段代碼看起來沒任何問題,在MFC ocx工程下編譯鏈接都ok,但運行一直內存錯誤。

一直以為是ocx注冊沒有替換,或者是GetOcxPath存在內存錯誤,將GetOcxPath單元測試和斷點調試沒有任何問題。

最后增加了文件存在判斷,不存在就讀取默認文件就OK了。

改進后源代碼如下:

    string programDir = GetOcxPath(file);//得到ini配置文件路徑
    DWORD ret;
    FILE* fp = fopen(programDir.data(),"r");
    if(!fp){
        ret = GetPrivateProfileString(app,key,"",returnString,MAX_PATH,"c:\\base64bmp_config.ini");
    }else{
        ret = GetPrivateProfileString(app,key,"",returnString,MAX_PATH,programDir.data());
    }
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孝昌县| 石家庄市| 肇庆市| 营山县| 连州市| 石屏县| 新兴县| 遂昌县| 天水市| 呼图壁县| 轮台县| 将乐县| 玉田县| 固始县| 安塞县| 永嘉县| 旬阳县| 民和| 河曲县| 麻江县| 阿勒泰市| 辽阳县| 苏尼特右旗| 西峡县| 从化市| 台前县| 贵溪市| 泰顺县| 延边| 漯河市| 马鞍山市| 乌拉特后旗| 汾阳市| 甘洛县| 成武县| 丰台区| 高州市| 且末县| 西乌珠穆沁旗| 新闻| 垦利县|