将.ini配置文件转换为.xml文件格式
1 /*2 * FILE: p670_convert.c3 * DATE: 201801254 * ==============5 * DESCRIPTION: 将.ini配置文件转换为.xml文件6 * fgets, fputs, DEBUG(format, ...)调试, strtok切割字符串, 7 */8 9 #include <stdio.h>10 #include <string.h>11 12 #define DEBUG(format, ...) printf("FILE: "__FILE__", LINE: %d: "format"\n", __LINE__, ##__VA_ARGS__)13 #define BUFFSIZE 6414 15 int main(int argc, char *argv[])16 {17 FILE *fp_src, *fp_dest;18 char buf[BUFFSIZE];19 char buf_out[BUFFSIZE];20 char head[16];21 char filename[16];22 int len;23 24 if(argc != 2)25 DEBUG("Usage: ./buld filename");26 27 // 校验文件扩展名是否为.ini 配置文件 28 len = strlen(argv[1]);29 if(strcmp(argv[1]+len-3, "ini") != 0)30 DEBUG("source file format error");31 32 fp_src = fopen(argv[1], "r"); // fopen 配置文件33 34 // 将.ini配置文件的扩展名改为.xml35 strcpy(filename, argv[1]);36 strcpy(&filename[len-3], "xml");37 38 // fopen .xml文件,若不存在则创建39 fp_dest = fopen(filename, "w");40 // 顺序读取每一行41 while(fgets(buf, BUFFSIZE, fp_src) != NULL)42 {43 len = strlen(buf);44 buf[len-1] = '\0';45 // 配置信息头46 if(buf[0] == '#')47 sprintf(buf_out, "<!-- %s -->\n", buf);48 else if(buf[0] == '!')49 {50 sprintf(buf_out, "<%s>\n", buf+1);51 strcpy(head, buf+1); // 复制一份用于后面输出</head>52 }53 else if(buf[0] == '\0')54 sprintf(buf_out, "</%s>\n\n", head);55 else56 { // strtok 切割字符串并返回首地址57 char *p = strtok(buf, "=");58 // strtok第一次调用时需传入字符串首地址,此后传入NULL59 p = strtok(NULL, "=");60 sprintf(buf_out, "\t<%s>%s</%s>\n", buf, p, buf);61 }62 fputs(buf_out, fp_dest); // fputs 输出63 }64 fclose(fp_src); // fclose 关闭文件流65 fclose(fp_dest);66 return 0;67 }
将.ini配置文件转换为.xml文件格式相关推荐
- C/C++ ini配置文件的格式及如何读写ini配置文件
一.ini配置文件的格式 为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序 ...
- .ini配置文件书写格式(转)
为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要 ...
- ini配置文件格式及用Python读写ini配置文件
1 ini配置文件介绍 1.1 概念 INI文件格式是某些平台或软件的配置文件,常用于windows操作系统 INI是英文"初始化"(initialization)的缩写.INI文 ...
- Qt读取三种文件,ini配置文件,JSON文件,和xml文件
第一种读取INI配置文件 INI文件内容如下: [conn] ip=127.0.0.1 port=8080 databaseversion=QSQLITE databasename=student u ...
- c读取ini配置文件_Go-INI - 超赞的Go语言INI文件操作库
INI 文件(Initialization File)是十分常用的配置文件格式,其由节(section).键(key)和值(value)组成,编写方便,表达性强,并能实现基本的配置分组功能,被各类软件 ...
- QT中如何读写ini配置文件
本文首发于「3D视觉工坊」知识星球. 如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取. 第一步:界面构造函数中, ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置极其简单,只需修改$CATALINA_HOME/conf/server.xml文件为如下内容即可 ...
- JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式
JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式 数据格式: json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式.具有易于解析,语法简单 ...
- HarmonyOS之将SVG文件转换为XML文件
SVG(Scalable Vector Graphics)可缩放矢量图形,是一种图像文件格式.目前由于 HarmonyOS 图形渲染引擎不支持 SVG 格式图片的渲染,开发者需要将 SVG 格式的图片 ...
最新文章
- 西安邮电大学计算机学院系主任,西安邮电大学计算机学院
- 【11】nvjdc不能用以后另一种jd ck获取办法
- 5G NR 频率 带宽 栅格
- 解压版本的tomcat服务安装
- java大批量数据导入(MySQL)
- 记一次 JAVA 的内存泄露分析
- Flutter仿美团应用开发笔记-入门篇
- 批处理计算n天前\后的日期
- idea集成SVN后查看当前文件修改的历史版本
- 深入浅出Mysql(一)
- win10默认壁纸_Win10系统待机锁频壁纸怎么提取?
- web服务器主机头文件,在Win2k下建立虚拟Web主机
- python 画图自定义x轴刻度值
- 【日志】学习笔记之看图玩转LTM
- QQ空间最新免费个人形象设置方法
- 吴恩达机器学习ex2:逻辑回归
- 二分图最大匹配—匈牙利算法
- 什么样的企业是负责任的企业?
- 熬夜整理两万字Python知识点
- 每个人都是从零开始,分享牛逼的前端工程师的牛逼学习方法