1. 程式人生 > >將.ini配置檔案轉換為.xml檔案格式

將.ini配置檔案轉換為.xml檔案格式


  1 /*
  2  * FILE: p670_convert.c
  3  * DATE: 20180125
  4  * ==============
  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 64
 14 
 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配置檔案的副檔名改為.xml
 35         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                 else
 56                 {       // strtok 切割字串並返回首地址
 57                         char *p = strtok(buf, "=");
 58                         // strtok第一次呼叫時需傳入字串首地址,此後傳入NULL
 59                         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檔案格式

1 /* 2 * FILE: p670_convert.c 3 * DATE: 20180125 4 * ============== 5 * DESCRIPTION: 將.ini配置檔案轉換為.xml檔案 6 * fgets, fput

多維php陣列轉換XML檔案或以字串輸出

<?php // 函式將多維陣列轉換成xml,內部為工廠方法,遞迴 function array_to_XML($obj, $array) { foreach ($array as $k

Python解密網易雲音樂.ncm檔案.ncm檔案轉換.mp3檔案,實現隨處播放(另附C++已編譯轉換器)

網易雲音樂把.mp3音樂檔案加密為.ncm檔案,導致不能將下載好的音樂複製到其它裝置或使用非網易雲音樂播放器播放,該程式可將.ncm檔案逆向解密為.mp3檔案並保留最高音質。 另有C++已編譯.exe轉換器,將.ncm檔案拖到.exe上直接執行轉換,生成.mp3檔案在.ncm檔案相同路徑。點選下

windows+label使用 2(xml檔案 轉換txt檔案

1 在本部落格上篇windows+label使用1後可以生成label的xml檔案後: 2 在darket.exe所在的當前目錄下,新建VOCdevkit資料夾 然後在VOCdevkit資料夾下新建資料夾VOC2018 然後在VOC2018資料夾下新建以下四個資料夾

資料庫的資料轉換excel檔案下載到本地的方法中遇到的困難及解決方案

以下是將資料庫的資料轉換為excel檔案下載到本地的方法 @Autowired private BooksService booksService; @RequestMapping("/downloadBooksExcel") public void down

如何利用python.doc檔案轉換.docx檔案

前面寫了很多利用python-docx批量處理word檔案的教程,但是python-docx不支援doc格式,因此如何將doc檔案轉為docx檔案就是一個需要解決的問題,如果檔案少可以另存為,如何檔案多

java對xml全面解析,增,刪,改,以及java物件重新編組xml檔案

{            //利用文件節點建立一個DOM輸入源            DOMSource source=new DOMSource(doc);            //以newXMLfile.xml建立一個StreamResult物件            StreamResult resu

swftools工具pdf檔案轉換swf檔案

      開發客戶網站時遇到了一個需求,客戶要求後臺上傳pdf檔案,前臺能以翻書的形式直接訪問。   首先想到的是使用js解決,使用者訪問前端頁面時,php將檔案路徑傳送給js,讓js呈現出來翻書的效果。在網上百度了一圈也沒有找到現成的外掛。   於是由某人提供的f

分享四種PDF檔案轉換CAD檔案的方法,總有一個方法適合你

有時候我們會遇到一些設計圖是以PDF檔案形式顯示的,那我們要怎麼樣將這種型別的PDF圖紙轉換成dwg或dxf格式呢? 如今網上的轉換方法特別多,今天小編就給大家盤點一下將PDF檔案轉換成CAD圖紙的4種方法。 迅捷家的幾款辦公軟體就很不錯,無論是CAD編輯器還是轉換器,

WSDL檔案轉換C#檔案

作者:炊文偉 郵箱:[email protected] 專注於以安全為核心的平安城市,智慧交通,智慧家居軟體平臺解決方案設計與開發 概述: 部分廠家在合作開發過程中會提供WSDL檔案

linux shell文字檔案轉換html檔案

  寫了個指令碼,簡單的將文字檔案轉換為html檔案。   1、使用sed命令,具體指令碼如下 1 #! /bin/bash 2 3 cat << END 4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM

利用pyuic5ui檔案轉換py檔案

作業系統上正確配置python環境之後,pyuic5也是一個可以識別的命令列指令 到.ui檔案的目錄下,直接cmd進入,輸入pyuic5 -o 轉換的py檔案 待轉換的ui檔案 此時,需要對login.py新增一點程式碼使得設計好的UI能夠出現在我們面前 imp

上傳頭像,相機相簿檔案轉換File檔案

  1,彈出dialog  相機按鈕,相簿按鈕, //彈出dialog private void getDialog() { dialog = new Dialog(this); //填充對話方塊的佈局 View i

python3.5把py檔案轉換exe檔案(by PyInstaller)

1.配置系統變數 安裝需要用到pip工具,該工具在3.5版本的python中已經自帶不用另行安裝,但是需要在系統變數中新增python下的Scripts資料夾,如下圖: 在Path變數值中新增【;(python的安裝目錄)\Scripts】 *注

pyqt5中把QtDesigner生成的ui檔案轉換Python檔案

1. 安裝python34     python安裝路徑:C:/Python34     安裝完成後需要將python的安裝路徑新增到path環境變數中, 2. 安裝PyQt5      PyQt的版本版本必須與python的版本一致,      安裝PyQt5時會自動搜尋python的安裝路徑(C:/Pyt

matlab 中將儲存影象的mat檔案轉換影象檔案

用Clear all,clc,先把變數全清除之後load yourMatFileName.mat %yourMatFileName.mat為儲存影象的mat檔案 再用whos命令檢視匯入了什麼變數,這些變數就存放著資料。再用imshow(Variable),就可以檢視影

windows之如何把iso檔案轉換VHD檔案

  (1)Convert-WindowsImage.ps1的下載路徑:                    連結:https://pan.baidu.com/s/18duFQFW8T_y

netcdf格式檔案轉換arcgis檔案

Satellite observation and climate model data become more and more widely used in GIS.  ArcGIS is one of the dominant software packages in the GIS communit

python:txt檔案轉換csv檔案

這篇部落格主要是應用python將txt文字檔案轉換為csv檔案。主要實現如下: #-*-coding:utf-8 -*- import csv with open('file.csv', 'wb') as csvfile: spamwriter

JKS檔案轉換PFX檔案

 JKS(JavaKeysotre)格式和PFX(PKCS12)格式,是最常見的SSL證書格式檔案,可以包含完整的證書金鑰對,證書鏈和信任證書資訊。PFX常用於Windows IIS伺服器,JKS常用語JAVA類的WEB伺服器,如TOMCAT,WEBLOGIC,JBOSS,RESIGN,雖然近年來,這些伺服