C++操作ini文件问题
一个save.cpp,里面有一个save函数,专门写一个ini(在当前路径,文件名叫data.ini)文件,格式要:name=NMAEage=AGE另一个read.cpp...
一个save.cpp,里面有一个save函数,专门写一个ini(在当前路径,文件名叫data.ini)文件,格式要:
name=NMAE
age=AGE
另一个read.cpp,里面有一个save函数,专门读data.ini文件,把NAME和AGE读取出来,存在变量Name和Age
PS:当data.ini中有数据时,更改NAME和AGE,而不是在下面创建新的项 展开
name=NMAE
age=AGE
另一个read.cpp,里面有一个save函数,专门读data.ini文件,把NAME和AGE读取出来,存在变量Name和Age
PS:当data.ini中有数据时,更改NAME和AGE,而不是在下面创建新的项 展开
2013-07-21
展开全部
////////////////////////////////////////////////////////////////////////////////
// 程序名:head.h
// 程序功能:读写函数头文件
//对应类实现文件: save.cpp和read.cpp
//对应主程序文件: main.cpp//char FileName[40]; //文件名定义为大小是40的整形数组
void Save(); //声明Save()函数
void ReadSave(); //声明ReadSave()函数///////////////////////////////////////////////////////////////////////////////
// 存储函数save()
// 函数功能:存放名字为FileName的文件。
// 函数参数:无
// 参数返回值:无#include"head.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>void Save()
{
// char FileName[40]; //文件名定义为大小是40的整形数组
char name[30];
int age; ofstream outstuf; //输出文件流对象
// cout<<"请输入所要创建文件的名字:"<<endl;
// cin>>FileName; //输入文件名
outstuf.open("data.ini",ios::out);//连接文件,制定打开方式
if(!outstuf) //调用重载算符函数测试流
{
cout<<"文件打不开!"<<endl;
abort();
}
outstuf<<"这是一个名为:"<<"data.ini"<<"的文件。"<<endl;//在文件里写入一行标题
cout<<"请输入一个姓名和年龄:(请按Ctrl+z结束输入)"<<endl;
while(cin>>name>>age)
{
outstuf<<name<<'\t'<<age<<'\t'<<endl;//向流中插入数据
}
outstuf.close(); //关闭文件
}
///////////////////////////////////////////////////////////////////////////////
// 读函数ReadSave()
// 函数功能:读名字为FileName的文件。
// 函数参数:无
// 参数返回值:无#include"head.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>void ReadSave()
{
char Name[30];
int Age;
char s[80]; ifstream instuf("data.ini",ios::in);//打开保存在当前目录中的文件
if(!instuf)
{
cout<<"文件打不开!"<<endl;
abort();
}
instuf.getline(s,80); //略去标题行
cout<<s<<endl;
while(instuf>>Name>>Age) //输出文件内容
{
cout<<Name<<'\t'<<Age<<endl;
}
instuf.close(); //关闭文件
}// 程序名:main.cpp
// 程序功能:主函数源文件#include<iostream.h>
#include"head.h"void main()
{
cout<<"写文件:"<<endl;
Save(); cout<<"读文件:"<<endl;
ReadSave();
}
// 程序名:head.h
// 程序功能:读写函数头文件
//对应类实现文件: save.cpp和read.cpp
//对应主程序文件: main.cpp//char FileName[40]; //文件名定义为大小是40的整形数组
void Save(); //声明Save()函数
void ReadSave(); //声明ReadSave()函数///////////////////////////////////////////////////////////////////////////////
// 存储函数save()
// 函数功能:存放名字为FileName的文件。
// 函数参数:无
// 参数返回值:无#include"head.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>void Save()
{
// char FileName[40]; //文件名定义为大小是40的整形数组
char name[30];
int age; ofstream outstuf; //输出文件流对象
// cout<<"请输入所要创建文件的名字:"<<endl;
// cin>>FileName; //输入文件名
outstuf.open("data.ini",ios::out);//连接文件,制定打开方式
if(!outstuf) //调用重载算符函数测试流
{
cout<<"文件打不开!"<<endl;
abort();
}
outstuf<<"这是一个名为:"<<"data.ini"<<"的文件。"<<endl;//在文件里写入一行标题
cout<<"请输入一个姓名和年龄:(请按Ctrl+z结束输入)"<<endl;
while(cin>>name>>age)
{
outstuf<<name<<'\t'<<age<<'\t'<<endl;//向流中插入数据
}
outstuf.close(); //关闭文件
}
///////////////////////////////////////////////////////////////////////////////
// 读函数ReadSave()
// 函数功能:读名字为FileName的文件。
// 函数参数:无
// 参数返回值:无#include"head.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>void ReadSave()
{
char Name[30];
int Age;
char s[80]; ifstream instuf("data.ini",ios::in);//打开保存在当前目录中的文件
if(!instuf)
{
cout<<"文件打不开!"<<endl;
abort();
}
instuf.getline(s,80); //略去标题行
cout<<s<<endl;
while(instuf>>Name>>Age) //输出文件内容
{
cout<<Name<<'\t'<<Age<<endl;
}
instuf.close(); //关闭文件
}// 程序名:main.cpp
// 程序功能:主函数源文件#include<iostream.h>
#include"head.h"void main()
{
cout<<"写文件:"<<endl;
Save(); cout<<"读文件:"<<endl;
ReadSave();
}
2013-07-21
展开全部
先读取每一行,放入字符串数组。 然后把字符串当成字符数组遍历找到等号,分别把名称和值保存。 更改后重新生成文本并保存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-21
展开全部
可以用现成的函数来做,WritePrivateProfileSection
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询