C++ 读写XML、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);   

}  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值