C++读写ini配置文件

在Windows的VC下

例如:在D:\test.ini文件中

[Font]
name=宋体
size= 12pt
color = RGB(255,0,0)

上面的=号两边可以加空格,也可以不加

用GetPrivateProfileInt()和GetPrivateProfileString()

[section]
key=string
      .
      .

获取integer
UINT GetPrivateProfileInt(
  LPCTSTR lpAppName,  // section name
  LPCTSTR lpKeyName,  // key name
  INT nDefault,       // return value if key name not found
  LPCTSTR lpFileName  // initialization file name
);

注意:lpAppName和lpKeyName不区分大小写,当获得integer <0,那么返回0。lpFileName  必须是绝对路径,因相对路径是以C:\windows
DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,        // section name
  LPCTSTR lpKeyName,        // key name
  LPCTSTR lpDefault,        // default string
  LPTSTR lpReturnedString,  // destination buffer
  DWORD nSize,              // size of destination buffer
  LPCTSTR lpFileName        // initialization file name
);

注意:lpAppName和lpKeyName不区分大小写,若lpAppName为NULL,lpReturnedString缓冲区内装载这个ini文件所有小节的列表,若为lpKeyName=NULL,就在lpReturnedString缓冲区内装载指定小节所有项的列表。lpFileName  必须是绝对路径,因相对路径是以C:\windows\,
返回值:复制到lpReturnedString缓冲区的字符数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpAppName或lpKeyName为NULL,则返回nSize-2)

例子:

    CString strCfgPath = _T("D:\\test.ini"); //注意:‘\\‘
    LPCTSTR lpszSection = _T("Font");
    int n = GetPrivateProfileInt(_T("FONT"), _T("size"), 9, strCfgPath);//n=12
    CString str;
    GetPrivateProfileString(lpszSection, _T("size"), _T("9pt"), str.GetBuffer(MAX_PATH), MAX_PATH, strCfgPath);
    str.ReleaseBuffer();//str="12pt"

    TCHAR buf[200] = { 0 };
    int nSize = sizeof(buf) / sizeof(buf[0]);
    GetPrivateProfileString(lpszSection, NULL, _T(""), buf, nSize, strCfgPath);
    // buf: "name\0size\0color\0\0"

原文地址:https://www.cnblogs.com/htj10/p/11741895.html

时间: 2024-10-13 09:34:30

C++读写ini配置文件的相关文章

自己写的 读写 ini 配置文件类

/// <summary> /// 不调用系统API 读写 ini 配置文件 /// </summary> public class RW_ini { #region ========ini 读写======== // 首次调用 RWini 时需要初始化此参数 public static string pathIni; // 记录错误信息 与 WriteLog 一起使用 public static string pathErr; public static string ReadI

引用“kernel32”读写ini配置文件

引用"kernel32"读写ini配置文件 unity ini kernel32 配置文件 引用"kernel32"读写ini配置文件 OverView kernel32.dll是Windows中非常重要的32位动态链接库文件,属于内核级文件.它控制着系统的内存管理.数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域. standardshader与toonshader比较:

WritePrivateProfileString等读写.ini配置文件

配置文件中经常用到ini文件,在VC中其函数分别为: 写入.ini文件: BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名 LPCTSTR lpString, // 键值,也就是数据 LPCTSTR lpFileName // INI文件的路径 ); 读取.ini文件: DWORD Get

C/C++ 关于如何读写ini配置文件 (小结)

我们可能经常用到配置文件ini文件来获取或者保存参数信息,在VC中其函数中主要用到的有: 读取 读取字符   DWORD GetPrivateProfileString(  LPCTSTR lpAppName,        // INI文件中的一个字段名[节名]可以有很多个节名   LPCTSTR lpKeyName,        // lpAppName 下的一个键名,也就是里面具体的变量名   LPCTSTR lpDefault,        // 如果lpReturnedString

c#读写ini配置文件示例

虽然c#里都是添加app.config 并且访问也很方便 ,有时候还是不习惯用他.那么我们来做个仿C++下的那种ini配置文件读写吧 其他人写的都是调用非托管kernel32.dll.我也用过 但是感觉兼容性有点不好 有时候会出现编码错误,毕竟一个是以前的系统一个是现在的系统.咱来写一个纯C#的ini格式配置文件读取,其实就是文本文件读写啦.但是我们要做的绝不仅仅是这样 是为了访问操作的方便 更是为了以后的使用. 都知道ini格式的配置文件里各个配置项 其实就是一行一行的文本 key跟value

在VC中读写ini配置文件

配置文件中经常用到ini文件,在VC中其函数分别为: 写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName); 读取.ini文件:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedS

读写INI配置文件。

核心函数: 写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,//INI文件中的一个字段名 LPCTSTR lpKeyName,//lpAppName 下的一个键名,也就是里面具体的变量名 LPCTSTR lpString,//是键值,也就是变量的值, 必须为LPCTSTR或CString类型 LPCTSTR lpFileName);//完整的INI文件路径名 读取.ini文件:DWORD GetPrivateProfileStr

JS通过ActiveX读写ini配置文件

1 String.prototype.trim = function(){ 2 return this.replace(/(^\s+)|(\s+$)/g, ''); 3 }; 4 5 IniConfig = function(iniFileName) { 6 this.iniFileName = iniFileName; 7 this._iniSecDictionary = new Array(); 8 this.fso = new ActiveXObject("Scripting.FileSy

C# 读写ini配置文件(.net/SQL技术交流群206656202 入群需注明博客园)

using System; using System.IO; using System.Reflection; using System.Runtime.InteropServices; using System.Text; namespace Souxuexiao.Cache { public static class IniConfig { static string ConfigurationFilePath; static IniConfig() { var Ass = Assembly