#include <fstream>
#include <iostream>
#include <string>
int getNameValue(char *name, char *value)
{
std::ifstream file;
std::string buf, bufFromFile, beginName, endName;
int begin, end;
if (name == NULL || value == NULL) {
std::cout << "name and value is invalid" << std::endl;
exit(1);
}
beginName.append("<");
beginName.append(name);
beginName.append(">");
endName.append("</");
endName.append(name);
endName.append(">");
file.open("MyIp.config");
if (!file.is_open()) {
std::cout << "error in open file ";
exit(1);
}
while (!file.eof()) {
file >> bufFromFile;
buf += bufFromFile;
}
file.close();
std::cout << buf << std::endl;
begin = buf.find(beginName);
end = buf.find(endName);
//std::cout << begin << " " << end << std::endl;
if (begin < 0 || end < 0) {
std::cout << "can't find " << name << " Item" << std::endl;
exit(1);
}
if (begin >= end) {
std::cout << "error in find " << name << " Item" << std::endl;
exit(1);
}
for (int i = 0; i < end - begin - beginName.length(); i++) {
value[i] = buf.at(begin + beginName.length() + i);
}
value[end - begin - beginName.length()] = '\0';
}
int main(int argc, char* argv[])
{
char *name = "IP";
char *value = NULL;
int port;
value = new char[100];
getNameValue(name, value);
}
MyIp.config文件是一下内容:
<IP>
10.21.243.133</IP>
<PORT>
5000
</PORT>
分享到:
相关推荐
前一段时间上传了C++XML封装类的示例程序是用VS2005做的,考虑到有些朋友常常使用经典的VC60,因此把实例又改编成VC60下的版本,由于我是做对日开发的,所以从VS2005考到VC60时注释变成乱码,最近比较忙,就不改了...
利用tinyxml源码,实现标准c++下解析xml文件,已经制作了xml解析类,完成多种情况下xml文件读取与写入。
XML的parser发展为两类:一种是"非确认类paeser",只检测文档是否遵守XML语法规则,是否用元素标识建立了文档树。另一种是"确认类paeser",它不但检测文档语法,结构树,而且比较解析你使用的元素标识是否遵守了相应...
实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频...
实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
36. 二进制文件读写 37. 文本文件读写 38. 存储容器 39. 遍历容器 40. 隐式数据共享 41. model/view 架构 42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. ...
2.15 用类文件对象适配真实文件对象 83 2.16 遍历目录树 84 2.17 在目录树中改变文件扩展名 85 2.18 从指定的搜索路径寻找文件 86 2.19 根据指定的搜索路径和模式寻找文件 87 2.20 在Python的搜索路径中寻找...
实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频...
实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频...
实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频...
实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...