QT仿照MFC读取INI文件怎么实现
admin
2023-08-02 09:20:07
0

QT仿照MFC读取INI文件(支持中文)


#include  
#include  
UINT SEGetPrivateProfileInt(LPCSTR lpAppName, LPCSTR lpKeyName,  
    INT nDefault, LPCSTR lpFileName) 

    UINT nReturn = nDefault; 
    QString strDefault, strItem, strSection, strKey; 
    strItem = ""; 
    strDefault.sprintf("%d", nDefault); 
 
    QTextCodec *codec = QTextCodec::codecForName("GB2312"); 
    QSettings Setting(lpFileName, QSettings::IniFormat);     
    Setting.setIniCodec(codec);     
    strSection = QString::fromLatin1(lpAppName, strlen(lpAppName)); 
    strKey = QString::fromLatin1(lpKeyName, strlen(lpKeyName)); 
    strItem.append(strSection); 
    strItem.append("/"); 
    strItem.append(strKey); 
     nReturn = Setting.value(strItem, strDefault).toUInt(); 
    return nReturn; 

 
DWORD SEGetPrivateProfileString(LPCSTR lpAppName, LPCSTR lpKeyName,   
    LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName) 

    DWORD dwLen = 0; 
    QString strReturn; 
    QString strDefault, strItem, strSection, strKey; 
    strItem = ""; 
    strDefault = lpReturnedString; 
 
    QTextCodec *codec = QTextCodec::codecForName("GB2312"); 
    QSettings Setting(lpFileName, QSettings::IniFormat);     
    Setting.setIniCodec(codec);     
    strSection = QString::fromLatin1(lpAppName, strlen(lpAppName)); 
    strKey = QString::fromLatin1(lpKeyName, strlen(lpKeyName)); 
    strItem.append(strSection); 
    strItem.append("/"); 
    strItem.append(strKey); 
     strReturn = Setting.value(strItem, strDefault).toString(); 
 
    QByteArray ba = strReturn.toAscii(); 
    char *lpszData = ba.data(); 
    dwLen = strlen(lpszData); 
    dwLen = dwLen > nSize ? nSize : dwLen; 
    strncpy(lpReturnedString, lpszData, dwLen); 
    return dwLen; 
}

相关内容

热门资讯

体育局员工霸占车位8天拒道歉,... 长沙某女公职人员霸占他人车位,多日来引发热议。7月9日,长沙市体育局发布情况通报称,该局正在会同公安...
泰山将拆除或替代隔离网,知错就... 泰山景区建了一圈长达135公里的铁丝网,被网友戏称为“中泰边境线”。这一能绕泰山两圈的刀片刺绳网,先...
200万粉丝博主称向广西捐款2... 近日,广西多地遭遇洪涝灾害,灾情受到社会关注,不少爱心企业、爱心人士纷纷主动捐款捐物助力灾区重建。7...
美政客唬人:万一中国商船藏导弹... 【文/观察者网 独生】这简直就是危言耸听!美国印第安纳州联邦参议员托德·扬(Todd Young)近...
声网联合网易智企-易盾推出内容... 随着直播、语聊、社交、游戏等实时互动场景持续火热,内容安全已经成为平台稳定运营的基础能力。对于此类场...
【社论】向着科技强国的目标坚定... 7月8日上午,国家科学技术奖励大会、两院院士大会、中国科协第十一次全国代表大会在京召开。习近平为国家...
7英寸+8000mAh!刚公布... 红米Note17开启预热,最大的惊喜是7英寸OLED超大屏和8000毫安时电池,搭配千元机的价格和定...
肯纳金属申请预加载铣刀专利,能... 国家知识产权局信息显示,肯纳金属公司申请一项名为“预加载铣刀”的专利,公开号CN122352957A...
原创 红... 红米新机继续推出,6月已推出红米K90至尊版,现在预热新一代小金刚,可谓是新机连连。红米拥有四大系列...
换车计划如何影响长期持有更关键... 在汽车消费过程中,换车是许多车主会面临的决策。而换车计划对于车辆长期持有来说有着至关重要的影响,这其...