笔记:将test.ini格式的文件转换成test.xml格式的文件

#include<stdio.h>
#include<errno.h>
#include<stdlib.h>
#include<string.h>

#defineNOTHING0
#defineLABEL1

voiddelblank(char*str);

intmain(intargc,char*argv[])
{
	charch,temp[50],*chp;
	FILE*dest,*src;
	intflag=NOTHING;
	charlabel[10];
	charsublabel[10];
	if(argc!=3)
	{
		printf("Usage:transcateDest_pathSrc_path\n");
		exit(EXIT_FAILURE);
	}
	if((src=fopen(argv[2],"r"))==NULL)
	{
		perror("Opensrcfile:");
		exit(EXIT_FAILURE);
	}
	if((dest=fopen(argv[1],"w"))==NULL)
	{
		perror("Opendestfile:");
		exit(EXIT_FAILURE);
	}

	while(fgets(temp,sizeof(temp)-1,src))
	{
		if(temp[0]==';')
		{
			temp[strlen(temp)-1]='\0';
			fprintf(dest,"<!--%s-->\n",temp+1);
		}
		elseif(!strcmp(temp,"\n")&&flag==LABEL)
		{
		delblank(temp);
		fprintf(dest,"</%s>\n\n",label);
		flag=NOTHING;
		}
		elseif(temp[0]=='['&&temp[strlen(temp)-2]==']')
		{
			flag=LABEL;
			delblank(temp);
			temp[strlen(temp)-2]='\0';
			strcpy(label,temp+1);
			fprintf(dest,"<%s>\n",temp+1);
		}
		elseif(chp=strchr(temp,'='))
		{
		delblank(temp);
			temp[strlen(temp)-1]='\0';
			strncpy(sublabel,temp,chp-temp);
			sublabel[chp-temp]='\0';
			fprintf(dest,"\t<%s>%s</%s>\n",sublabel,chp+1,sublabel);
		}
	}
	if(flag==LABEL)
		fprintf(dest,"</%s>\n",label);
	fclose(dest);
	fclose(src);

	return0;
}

voiddelblank(char*str)
{
	inti=0,j=0;
	for(;i<strlen(str);i++,j++)
	{
		if(str[i]=='')
			i++;
		str[j]=str[i];
	}
	str[j]='\0';
}

test.ini

;Configurationofhttp
[http]
domain=www.mysite.com
port=8080
cgihome=/cgi-bin

;Configurationofdb
[database]
server=mysql
user=myname
password=toopendatabase


test.xml

<!--Configurationofhttp-->
<http>
<domain>www.mysite.com</domain>
<port>8080</port>
<cgihome>/cgi-bin</cgihome>
</http>

<!--Configurationofdb-->
<database>
<server>mysql</server>
<user>myname</user>
<password>toopendatabase</password>
</database>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇