`
futrueboy
  • 浏览: 84880 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C++读取XML之类的文件

阅读更多
#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文件

    C++作为一门强大的编程语言,提供了多种库来处理XML文件,其中之一就是TinyXML库。本教程将深入探讨如何使用TinyXML解析器在C++中读取XML文件。 TinyXML是一个小型、轻量级的开源库,设计用于在C++中解析XML文档。...

    C C++ C++ Builder的各种文件读写操作总结

    C++ 中的文件读写操作是编程过程中常用的操作之一,C++ Builder 提供了多种方法对文件进行操作。在本节中,我们将对 C++ 中的文件读写操作进行总结。 基于 C 的文件操作 在 ANSI C 中,对文件的操作分为两种方式,...

    C++读取XML格式文件,DLL文件

    本主题将深入探讨如何在C++中读取XML格式文件以及与DLL(动态链接库)的交互。 首先,我们要理解C++如何处理XML文件。XML文件的读取通常涉及到解析器,这些解析器可以是DOM(Document Object Model)或SAX(Simple ...

    C++ xml文件处理介绍

    在C++中处理XML文件,主要依赖于.NET框架提供的这些命名空间中的类和方法,如XmlDocument类用于DOM树形式的操作,XmlTextReader类用于流方式的快速读取,以及其他的诸如XmlWriter、XmlValidatingReader等类。...

    使用C++封装tinyxml,读取xml文件

    通过这种方式,我们可以将XML配置文件的读取和解析过程封装在一个易于使用的接口之下,提高代码的可维护性和可复用性。 总的来说,封装TinyXML并利用C++的面向对象特性可以极大地简化XML文件的处理。通过单例模式的...

    XML文件的加密与解密

    这里使用了`XmlDocument`类来加载XML文件,并通过设置`PreserveWhitespace`属性保留空白字符,这对于保持XML结构的完整性至关重要。 2. **保存XML文件**: ```csharp xmlDoc.Save(Application.StartupPath + @"\...

    XML类(VC60下C++封装的通用XML类,并附使用说明)

    前一段时间上传了C++XML封装类的示例程序是用VS2005做的,考虑到有些朋友常常使用经典的VC60,因此把实例又改编成VC60下的版本,由于我是做对日开发的,所以从VS2005考到VC60时注释变成乱码,最近比较忙,就不改了...

    c++读写in文件封装类

    在C++编程中,处理配置文件是常见的任务之一,特别是在开发需要存储用户设置或应用程序配置的应用程序时。INI文件是一种简单、易于理解的文本格式,用于存储键值对。本篇将详细介绍如何利用C++创建一个封装类来读写...

    用C++语言实现XML文件解析的一种方案

    ### 用C++语言实现XML文件解析的一种方案 #### 概述 随着互联网技术的不断发展,XML(可扩展标记语言)作为一种重要的数据交换格式,在各领域中的应用日益广泛。XML以其良好的可读性和开放性成为了数据共享的标准...

    borland c++ builder 6 xml处理总结

    `TXMLDocument`是Borland C++ Builder用于处理XML文档的主要类之一,它提供了一系列方法和属性用于读取、修改和创建XML文档。下面详细介绍如何使用该组件进行基本的XML文件操作。 ##### 2.1 读取XML文件 为了读取...

    mfc(c++)读写xls和xlsx文件的类

    压缩包中的“mfc(c++)读写xls和xlsx文件的类”很可能是对上述方法的一种封装,提供了一套基础操作,如打开、保存、添加数据等。开发者可以根据需求进一步扩展这些类,增加更多功能,如公式计算、图表操作、数据...

    用C读取DXF文件_c_cad_读取DXFC语言_c++dxf_读取DXF_

    本篇将详细探讨如何使用C语言读取DXF文件,以及与之相关的C++技术。 DXF文件的基本结构分为几部分:标题块、表格、段定义和图形数据。标题块包含文件版本信息和用户自定义数据;表格部分包括层(LAYER)、线型...

    配置文件c++程序。打包文件

    在IT行业中,C++是一种广泛使用的编程语言,尤其在系统软件、嵌入式软件...正确地读取、解析和使用配置文件是每个C++开发者必须掌握的技能之一。通过理解和运用上述知识,你可以创建更加灵活和用户友好的C++应用程序。

    C++调用C#实现Xml读写

    本文将深入探讨如何使用C++调用C#编写的Dll动态链接库,实现XML文件的读写操作。这一过程涉及到C++和C#之间的接口交互,以及类型转换等关键技术。 首先,C++与C#虽然都属于.NET框架下的语言,但它们之间存在语法和...

    如何以XML 方式读写数据表信息,C++.net源代码编写,VisualStudio.net

    本主题将深入探讨如何使用C++.NET在Visual Studio .NET环境中通过源代码实现XML文件的数据读写。 1. **XML基础** XML文档由一系列元素构成,每个元素都有开始标签和结束标签,如`内容&lt;/element&gt;`。元素可以嵌套,...

    Native C++ XML Parer

    这些缺失的功能可以通过在XMLLite之上构建额外的功能来弥补,就像.NET Framework中的大部分XML功能都是建立在XmlReader和XmlWriter类之上的那样。 #### XMLLite的主要特性 尽管XMLLite在某些方面存在局限性,但它...

    c++实现解析xml

    TinyXML是其中一个常用的轻量级C++ XML解析库,它提供了一种简洁的方式来读取、修改和写入XML文档。 TinyXML库的主要组成部分包括`TiXMLDocument`、`TiXmlElement`、`TiXmlText`、`TiXmlAttribute`等类,它们分别...

    xml文件解析

    XML(eXtensible Markup Language)是...通过`TiXmlDocument`和`TiXmlElement`等类,我们可以轻松地读取、修改和保存XML数据。尽管它不支持大型文件处理和XML验证,但在许多简单的应用场合,TinyXML是一个很好的选择。

    XML解析器,用于解析XML文件

    2. 加载XML文件:使用`TiXmlDocument`类的`LoadFile()`方法加载XML文件。 3. 检查加载是否成功:调用`doc.Error()`检查是否有错误,通过`doc.ErrorDesc()`获取错误描述。 4. 遍历XML结构:使用`FirstChildElement()`...

    使用XML方式增加数据库记录 编程小实例,C++.net源代码编写

    C++.NET框架提供了System.Xml命名空间,这个命名空间包含了一系列类和方法,用于读取、写入和操作XML文档。在这个实例中,我们主要会用到以下类: 1. **XmlDocument**: 用于加载和操作XML文档的类。 2. **XmlNode**...

Global site tag (gtag.js) - Google Analytics