笔记:将test.ini格式的文件转换成test.xml格式的文件
发布时间:2020-12-15 22:57:51 所属栏目:百科 来源:网络整理
导读:#includestdio.h#includeerrno.h#includestdlib.h#includestring.h#defineNOTHING0#defineLABEL1voiddelblank(char*str);intmain(intargc,char*argv[]){charch,temp[50],*chp;FILE*dest,*src;intflag=NOTHING;charlabel[10];charsublabel[10];if(argc!=3){pr
#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_pathn"); 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]=' '; fprintf(dest,"<!--%s-->n",temp+1); } elseif(!strcmp(temp,"n")&&flag==LABEL) { delblank(temp); fprintf(dest,"</%s>nn",label); flag=NOTHING; } elseif(temp[0]=='['&&temp[strlen(temp)-2]==']') { flag=LABEL; delblank(temp); temp[strlen(temp)-2]=' '; strcpy(label,temp+1); fprintf(dest,"<%s>n",temp+1); } elseif(chp=strchr(temp,'=')) { delblank(temp); temp[strlen(temp)-1]=' '; strncpy(sublabel,temp,chp-temp); sublabel[chp-temp]=' '; 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]=' '; } 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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容