读取ini
来源:互联网 发布:linux终端退出服务器 编辑:程序博客网 时间:2024/05/11 15:05
ini 文件是文本文件,中间的数据格式一般为:
[Section1 Name]
KeyName1=value1
KeyName2=value2
...
[Section2 Name]
KeyName1=value1
KeyName2=value2
ini 文件可以分为几个 Section,每个 Section 的名称用 [] 括起来。
GetPrivateProfileString - 从 ini 文件的某个 Section 取得一个 key 的字符串,它的原形是:
1
2
3
4
5
6
7
8
GetPrivateProfileString(
LPCTSTR
lpAppName,
// 指向包含 Section 名称的字符串地址
LPCTSTR
lpKeyName,
// 指向包含 Key 名称的字符串地址
LPCTSTR
lpDefault,
// 如果 Key 值没有找到,则返回缺省的字符串的地址
LPTSTR
lpReturnedString,
// 返回字符串的缓冲区地址
DWORD
nSize
// 缓冲区的长度
LPCTSTR
lpFileName
// ini 文件的文件名
);
1
2
3
4
5
6
GetPrivateProfileSection(
LPCTSTR
lpAppName,
// 指向包含 Section 名称的字符串地址
LPTSTR
lpReturnedString,
// 返回数据的缓冲区地址
DWORD
nSize
// 返回数据的缓冲区长度
LPCTSTR
lpFileName
// ini 文件的文件名
);
这个 api 可以读出整个 section 的内容,当你不知道 section 中有哪些 key 的时候,可以使用这个 api 将整个 section 读出后再处理。
GetPrivateProfileSectionNames - 从 ini 文件中获得 Section 的名称,它的原形是:
1
2
3
4
5
GetPrivateProfileSectionNames(
LPTSTR
lpszReturnBuffer,
// 返回数据的缓冲区地址
DWORD
nSize
// 返回数据的缓冲区长度
LPCTSTR
lpFileName
// ini 文件的文件名
);
如果 ini 中有两个 Section: [sec1] 和 [sec2],则返回的是 'sec1',0,'sec2',0,0 ,当你不知道 ini 中有哪些 section 的时候可以用这个 api 来获取名称
WritePrivateProfileSection - 将一个整个 Section 的内容入 ini 文件的指定 Section 中,它的原形是:
1
2
3
4
5
WritePrivateProfileSection(
LPCTSTR
lpAppName,
// 指向包含 Section 名称的字符串地址
LPCTSTR
lpString
// 要写入的数据的地址
LPCTSTR
lpFileName
// ini 文件的文件名
);
1
2
3
4
5
6
WritePrivateProfileString(
LPCTSTR
lpAppName,
// 指向包含 Section 名称的字符串地址
LPCTSTR
lpKeyName,
// 指向包含 Key 名称的字符串地址
LPCTSTR
lpString
// 要写的字符串地址
LPCTSTR
lpFileName
// ini 文件的文件名
);
// c++_1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//#include <Windows.h>#include <afx.h>int _tmain(int argc, _TCHAR* argv[]){TCHAR buffer[256];TCHAR path[] = _T("C:\\Users\\sony\\Desktop\\boots.ini");int len = GetPrivateProfileSectionNames(buffer, sizeof(buffer), path);TCHAR *names = buffer;TCHAR *end = names + len;while (names < end){CString name = names;_tprintf(_T("==========%s=========\r\n"), name);names += name.GetLength();names++;//获取section下面的所有属性TCHAR buffer2[1024];len = GetPrivateProfileSection(name, buffer2, sizeof(buffer2), path); //遍历所有行TCHAR *lines = buffer2;while (*lines){CString line = lines;_tprintf(_T("\t%s\r\n"), line);lines += line.GetLength();lines++;}}return 0;}
- 读取ini
- 读取Ini
- Ini文件读取类
- 读取Ini文件
- java读取ini文件
- 读取INI文件
- vc读取ini文件
- c#读取ini文件
- c#读取ini文件
- C# 读取INI
- ini文件读取(C#)
- 读取INI文件
- ini文件读取
- 读取INI文件
- vb读取ini文件
- VC读取配置文件(.ini)
- VB读取INI文件
- delphi读取ini文件
- unbutu安装mysql
- 编写一个递归算法,实现将一棵二叉树的左右孩子互换。
- c#Process.Start无法启动exe程序的问题
- 使用__builtin_return_address获得程序运行栈情况
- LTE ZUC EEA3 EIA3 source code error 官方源代码 的错误之处
- 读取ini
- 动手安装centOS6
- Android 快速开发框架 ThinkAndroid
- 《UNIX环境高级编程》笔记--会话
- HALOCN运算功能函数快查
- PowerDesigner 将code值赋给name列
- (copy)Asp.net中服务端控件事件是如何触发的
- 怎样运行地理处理工具 Geoprocessing & Geoprocessor & IGPProcess
- win2003远程终端服务激活