WritePrivateProfileString、GetPrivateProfileString 读写配置文件
WritePrivateProfileString 写配置文件
BOOL WINAPI WritePrivateProfileString(
_In_ LPCTSTR lpAppName,
_In_ LPCTSTR lpKeyName,
_In_ LPCTSTR lpString,
_In_ LPCTSTR lpFileName
);
参数:
lpAppName:
要复制字符串的部分的名称。如果该部分不存在,则创建它。该部分的名称与大小写无关; 字符串可以是大写和小写字母的任意组合。
lpKeyName:
与字符串关联的键的名称。如果该键在指定的部分不存在,则创建它。如果此参数为NULL,则整个部分(包括该部分中的所有条目)将被删除。
lpString:
一个零结尾的字符串写入文件。如果此参数为NULL,则lpKeyName参数指向的键将被删除。
lpFileName:
初始化文件的名称。如果文件是使用Unicode字符创建的,则该函数将Unicode字符写入该文件。否则,函数写入ANSI字符。
返回值:
如果函数成功将字符串复制到初始化文件,则返回值不为零。如果函数失败,或者刷新最近访问的初始化文件的缓存版本,返回值为零。要获取扩展错误信息,请调用 GetLastError。
注意:
初始化文件中的一个部分必须具有以下形式:
[section]
key=string
.
.
.
如果lpFileName参数不包含文件的完整路径和文件名, WritePrivateProfileString会在Windows目录中搜索该文件。如果该文件不存在,则此功能将在Windows目录中创建该文件。
如果lpFileName包含完整路径和文件名,并且该文件不存在,则 WritePrivateProfileString将创建该文件。指定的目录必须已经存在。
GetPrivateProfileString 读取配置文件
DWORD WINAPI GetPrivateProfileString(
_In_ LPCTSTR lpAppName,
_In_ LPCTSTR lpKeyName,
_In_ LPCTSTR lpDefault,
_Out_ LPTSTR lpReturnedString,
_In_ DWORD nSize,
_In_ LPCTSTR lpFileName
);
参数:
lpAppName [in]
包含密钥名称的部分的名称。如果此参数为NULL,则 GetPrivateProfileString函数将文件中的所有段名复制到提供的缓冲区。
lpKeyName [in]
要检索其关联字符串的键的名称。如果此参数为NULL,则由lpAppName参数指定的部分中的所有键名将复制到由lpReturnedString参数指定的缓冲区中。
lpDefault [in]
默认字符串。如果在初始化文件中找不到lpKeyName键,则 GetPrivateProfileString将默认字符串复制到lpReturnedString缓冲区。如果此参数为NULL,则默认值为空字符串“”。
避免指定一个带有空白字符的默认字符串。该函数在lpReturnedString缓冲区中插入一个空字符以去除任何尾随的空白。
lpReturnedString [out]
指向接收检索字符串的缓冲区的指针。
nSize [in]
lpReturnedString参数指向的缓冲区的大小,以字符为单位。
lpFileName [in]
初始化文件的名称。如果此参数不包含文件的完整路径,系统将在Windows目录中搜索该文件。
返回值:
返回值是复制到缓冲区的字符数,不包括终止空字符。
如果lpAppName和lpKeyName都不为NULL,并且提供的目标缓冲区太小而不能容纳所请求的字符串,则该字符串将被截断,后跟一个空字符,返回值等于nSize减去一个。
如果lpAppName或lpKeyName为NULL,并且提供的目标缓冲区太小而不能容纳所有字符串,则最后一个字符串将被截断,后跟两个空字符。在这种情况下,返回值等于nSize减去2。
在没有找到由lpFileName指定的初始化文件或包含无效值的情况下,该函数将设置值为“0x2”(找不到文件)的errorno。要检索扩展错误信息,请调用GetLastError。
查看更多 WritePrivateProfileString
查看更多 GetPrivateProfileString
WritePrivateProfileString、GetPrivateProfileString 读写配置文件的更多相关文章
- 利用GetPrivateProfileString读取配置文件(.ini)
利用GetPrivateProfileString读取配置文件(.ini) 配置文件中经常用到ini文件,在VC中其函数分别为: 写入.ini文件:bool WritePrivateProfileSt ...
- 用ConfigParser模块读写配置文件——Python
对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...
- 使用ConfigurationManager类读写配置文件
使用ConfigurationManager类 读写配置文件app.config,以下为代码: view plaincopy to clipboard print? using System; usi ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- C读写配置文件
在项目开发中,经常需要读取应用配置文件的初始化参数,用于应用在启动前进行一些初始化配置.比如:Eclipse,参数项包含主题.字体大小.颜色.Jdk安装位置.自动提示等.Eclispe配置的文件格式是 ...
- Python自动化测试 -ConfigParser模块读写配置文件
C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- python-ConfigParser模块【读写配置文件】
对python 读写配置文件的具体方案的介绍 1,函数介绍 import configParser 如果Configparser无效将导入的configParser 的C小写 1.1.读取配置文件 - ...
随机推荐
- 在WPF中如何使用RelativeSource绑定
在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource. 这种办法的意思是指当前元素和绑定源的位置关系. 第一种关系: Self 举一个最简单的例子:在一个StackPanel ...
- logstash 启动报找不主类或无法加载 java
logstash 启动报无法找到主类解决方案 Zparkle 关注 2018.03.08 22:04* 字数 2051 阅读 1评论 0喜欢 0 当logstash启动时,首先要注意正确配置java ...
- Linux笔记-vim 配置
本文是转载的,我用的ubuntu12.04在vim设置方面就是参考了本文,拿来分享给大家! ubuntu10.10中的设置方法: $cd /etc/vim $sudo cp vimrc vimrc.b ...
- Tomcat源码分析——请求原理分析(下)
前言 本文继续讲解TOMCAT的请求原理分析,建议朋友们阅读本文时首先阅读过<TOMCAT源码分析——请求原理分析(上)>和<TOMCAT源码分析——请求原理分析(中)>.在& ...
- 【C#高级】泛型(一)
泛型,.net 2.0之后出现,基本只要代码中出现 ‘<>’ 尖括号就可以确定是泛型. 在2.0之前大多是使用Object来代替,因为所有类都是Object的派生类,根据继承的原理Obje ...
- Java - 谨慎实现Comparable接口
类实现了Comparable接口就表明类的实例本身具有内在的排序关系(natural ordering). 因此,该类可以与很多泛型算法和集合实现进行协作. 而我们之需要实现Comparable接口唯 ...
- uestc 1072 a ^ b
a ^ b Time Limit: 1000 ms Memory Limit: 65535 kB Solved: 334 Tried: 2153 Description 求a的b次方后四位. In ...
- Thymeleaf学习记录(8)--表达式基本对象
基础对象 #ctx:上下文对象 /* * ====================================================================== * See ja ...
- 标签设置为inline-block后,如何消除标签之间的间隔。
标签设置为inline-block后,如何消除标签之间的间隔. 例如: <div> <ul> <li><a href="#">学习& ...
- git杂记-记录每次更新到仓库
git status 和 git diff的运用 git status 记录的是关于仓库文件是否有变更,例如是否被修改,是否被添加到暂村区.至于文件更改了什么内容该命令并不关心: git status ...