发布网友 发布时间:2022-04-23 22:50
共4个回答
热心网友 时间:2023-08-15 11:39
配置文件中经常用到ini文件,在VC中其函数分别为:
写入.ini文件:
BOOL WritePrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpString, // 键值,也就是数据
LPCTSTR lpFileName // INI文件的路径
);
读取.ini文件:
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedString
LPTSTR lpReturnedString, // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区
DWORD nSize, // lpReturnedString的缓冲区大小
LPCTSTR lpFileName // INI文件的路径
);
热心网友 时间:2023-08-15 11:39
#include <afx.h>
#include <windows.h>
#include <iostream.h>
CString NAME="zhang san";
int AGE=20;
char inBuf[256];
char path[255] ;
void GetPath()
{
GetCurrentDirectory(256,inBuf);
sprintf(path,"%s\\data.ini",inBuf);//设置ini文件的全路径
}
void save()
{
//获取当前程序的路径
//第一个参数是路径的最大长度,第二个参数是路径的字符串
CString strAGE;
strAGE.Format("%d",AGE);
GetPath();
WritePrivateProfileString("Student","name",NAME,path);
WritePrivateProfileString("Student","age",strAGE,path);
}
void read()
{
int age;
GetPrivateProfileString("Student","name","",NAME.GetBuffer(NAME.GetLength()+1),NAME.GetLength()+1,path);
age = GetPrivateProfileInt("Student","age",0,path);
cout<<NAME<<" "<<age<<endl;
}
void main()
{
save();
read();
}
热心网友 时间:2023-08-15 11:40
INI是个key-value类型的文件,一般都有现成的代码和库,Windows 有API实现,GNU Libc 有个 key-value file 做这个。
实在懒的用上述两者,或懒的自己写一个INI读写类,用 STL 的 map
热心网友 时间:2023-08-15 11:40
用 Windows 的 API 函数 GetPrivateProfileString 之类的