C++操作ini文件问题

2024-11-29 10:32:45
推荐回答(3个)
回答1:

////////////////////////////////////////////////////////////////////////////////
// 程序名:head.h
// 程序功能:读写函数头文件
//对应类实现文件: save.cpp和read.cpp
//对应主程序文件: main.cpp//char FileName[40]; //文件名定义为大小是40的整形数组
void Save(); //声明Save()函数
void ReadSave(); //声明ReadSave()函数///////////////////////////////////////////////////////////////////////////////
// 存储函数save()
// 函数功能:存放名字为FileName的文件。
// 函数参数:无
// 参数返回值:无#include"head.h"
#include
#include
#includevoid Save()
{
// char FileName[40]; //文件名定义为大小是40的整形数组
char name[30];
int age; ofstream outstuf; //输出文件流对象
// cout<<"请输入所要创建文件的名字:"<// cin>>FileName; //输入文件名
outstuf.open("data.ini",ios::out);//连接文件,制定打开方式
if(!outstuf) //调用重载算符函数测试流
{
cout<<"文件打不开!"< abort();
}
outstuf<<"这是一个名为:"<<"data.ini"<<"的文件。"< cout<<"请输入一个姓名和年龄:(请按Ctrl+z结束输入)"< while(cin>>name>>age)
{
outstuf< }
outstuf.close(); //关闭文件
}
///////////////////////////////////////////////////////////////////////////////
// 读函数ReadSave()
// 函数功能:读名字为FileName的文件。
// 函数参数:无
// 参数返回值:无#include"head.h"
#include
#include
#includevoid ReadSave()
{
char Name[30];
int Age;
char s[80]; ifstream instuf("data.ini",ios::in);//打开保存在当前目录中的文件
if(!instuf)
{
cout<<"文件打不开!"< abort();
}
instuf.getline(s,80); //略去标题行
cout< while(instuf>>Name>>Age) //输出文件内容
{
cout< }
instuf.close(); //关闭文件
}// 程序名:main.cpp
// 程序功能:主函数源文件#include
#include"head.h"void main()
{
cout<<"写文件:"< Save(); cout<<"读文件:"< ReadSave();
}

回答2:

先读取每一行,放入字符串数组。 然后把字符串当成字符数组遍历找到等号,分别把名称和值保存。 更改后重新生成文本并保存。

回答3:

可以用现成的函数来做,WritePrivateProfileSection