#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文件,其中之一就是TinyXML库。本教程将深入探讨如何使用TinyXML解析器在C++中读取XML文件。 TinyXML是一个小型、轻量级的开源库,设计用于在C++中解析XML文档。...
C++ 中的文件读写操作是编程过程中常用的操作之一,C++ Builder 提供了多种方法对文件进行操作。在本节中,我们将对 C++ 中的文件读写操作进行总结。 基于 C 的文件操作 在 ANSI C 中,对文件的操作分为两种方式,...
本主题将深入探讨如何在C++中读取XML格式文件以及与DLL(动态链接库)的交互。 首先,我们要理解C++如何处理XML文件。XML文件的读取通常涉及到解析器,这些解析器可以是DOM(Document Object Model)或SAX(Simple ...
在C++中处理XML文件,主要依赖于.NET框架提供的这些命名空间中的类和方法,如XmlDocument类用于DOM树形式的操作,XmlTextReader类用于流方式的快速读取,以及其他的诸如XmlWriter、XmlValidatingReader等类。...
通过这种方式,我们可以将XML配置文件的读取和解析过程封装在一个易于使用的接口之下,提高代码的可维护性和可复用性。 总的来说,封装TinyXML并利用C++的面向对象特性可以极大地简化XML文件的处理。通过单例模式的...
这里使用了`XmlDocument`类来加载XML文件,并通过设置`PreserveWhitespace`属性保留空白字符,这对于保持XML结构的完整性至关重要。 2. **保存XML文件**: ```csharp xmlDoc.Save(Application.StartupPath + @"\...
前一段时间上传了C++XML封装类的示例程序是用VS2005做的,考虑到有些朋友常常使用经典的VC60,因此把实例又改编成VC60下的版本,由于我是做对日开发的,所以从VS2005考到VC60时注释变成乱码,最近比较忙,就不改了...
在C++编程中,处理配置文件是常见的任务之一,特别是在开发需要存储用户设置或应用程序配置的应用程序时。INI文件是一种简单、易于理解的文本格式,用于存储键值对。本篇将详细介绍如何利用C++创建一个封装类来读写...
### 用C++语言实现XML文件解析的一种方案 #### 概述 随着互联网技术的不断发展,XML(可扩展标记语言)作为一种重要的数据交换格式,在各领域中的应用日益广泛。XML以其良好的可读性和开放性成为了数据共享的标准...
`TXMLDocument`是Borland C++ Builder用于处理XML文档的主要类之一,它提供了一系列方法和属性用于读取、修改和创建XML文档。下面详细介绍如何使用该组件进行基本的XML文件操作。 ##### 2.1 读取XML文件 为了读取...
压缩包中的“mfc(c++)读写xls和xlsx文件的类”很可能是对上述方法的一种封装,提供了一套基础操作,如打开、保存、添加数据等。开发者可以根据需求进一步扩展这些类,增加更多功能,如公式计算、图表操作、数据...
本篇将详细探讨如何使用C语言读取DXF文件,以及与之相关的C++技术。 DXF文件的基本结构分为几部分:标题块、表格、段定义和图形数据。标题块包含文件版本信息和用户自定义数据;表格部分包括层(LAYER)、线型...
在IT行业中,C++是一种广泛使用的编程语言,尤其在系统软件、嵌入式软件...正确地读取、解析和使用配置文件是每个C++开发者必须掌握的技能之一。通过理解和运用上述知识,你可以创建更加灵活和用户友好的C++应用程序。
本文将深入探讨如何使用C++调用C#编写的Dll动态链接库,实现XML文件的读写操作。这一过程涉及到C++和C#之间的接口交互,以及类型转换等关键技术。 首先,C++与C#虽然都属于.NET框架下的语言,但它们之间存在语法和...
本主题将深入探讨如何使用C++.NET在Visual Studio .NET环境中通过源代码实现XML文件的数据读写。 1. **XML基础** XML文档由一系列元素构成,每个元素都有开始标签和结束标签,如`内容</element>`。元素可以嵌套,...
这些缺失的功能可以通过在XMLLite之上构建额外的功能来弥补,就像.NET Framework中的大部分XML功能都是建立在XmlReader和XmlWriter类之上的那样。 #### XMLLite的主要特性 尽管XMLLite在某些方面存在局限性,但它...
TinyXML是其中一个常用的轻量级C++ XML解析库,它提供了一种简洁的方式来读取、修改和写入XML文档。 TinyXML库的主要组成部分包括`TiXMLDocument`、`TiXmlElement`、`TiXmlText`、`TiXmlAttribute`等类,它们分别...
XML(eXtensible Markup Language)是...通过`TiXmlDocument`和`TiXmlElement`等类,我们可以轻松地读取、修改和保存XML数据。尽管它不支持大型文件处理和XML验证,但在许多简单的应用场合,TinyXML是一个很好的选择。
2. 加载XML文件:使用`TiXmlDocument`类的`LoadFile()`方法加载XML文件。 3. 检查加载是否成功:调用`doc.Error()`检查是否有错误,通过`doc.ErrorDesc()`获取错误描述。 4. 遍历XML结构:使用`FirstChildElement()`...
C++.NET框架提供了System.Xml命名空间,这个命名空间包含了一系列类和方法,用于读取、写入和操作XML文档。在这个实例中,我们主要会用到以下类: 1. **XmlDocument**: 用于加载和操作XML文档的类。 2. **XmlNode**...