QT仿照MFC读取INI文件怎么实现
更新:HHH   时间:2023-1-7


这篇文章主要讲解了“QT仿照MFC读取INI文件怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT仿照MFC读取INI文件怎么实现”吧!

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


#include <QSettings> 
#include <QtGui> 
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; 
}

感谢各位的阅读,以上就是“QT仿照MFC读取INI文件怎么实现”的内容了,经过本文的学习后,相信大家对QT仿照MFC读取INI文件怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!

返回开发技术教程...