欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何用C語(yǔ)言生成簡(jiǎn)單格式的xml

 更新時(shí)間:2013年05月27日 17:40:35   作者:  
本篇文章是對(duì)使用C語(yǔ)言生成簡(jiǎn)單格式的xml的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
代碼很簡(jiǎn)單,直接貼了。
復(fù)制代碼 代碼如下:

    #include <stdio.h> 

    static FILE *out = NULL; 
    static int tabs = 0; 

    void set_out_fp(FILE *fp) 
    { 
        out = fp; 
    } 

    void put(char *str) 
    { 
        fprintf(out, "%s", str); 
    } 

    void put_head(char *head) 
    { 
        put("<?"); 
        put(head); 
        put("?>\n"); 
    } 

    void out_tabs() 
    { 
        int i; 
        for(i=0; i < tabs; i++) 
        { 
            put("\t"); 
        } 
    } 

    void tag_start(char *tag) 
    { 
        out_tabs(); 
        put("<"); 
        put(tag); 
        put(">\n"); 
        tabs = tabs + 1; 
    } 

    void tag_end(char *tag) 
    { 
        tabs = tabs - 1; 
        out_tabs(); 
        put("</"); 
        put(tag); 
        put(">\n"); 
    } 

    void tag_value(char *tag, char *value) 
    { 
        out_tabs(); 
        put("<"); 
        put(tag); 
        put("\t"); 
        put("\"value\"=\""); 
        put(value); 
        put("\""); 
        put("\t/>\n"); 
    } 

    void tag_value_num(char *tag, long value) 
    { 
        out_tabs(); 
        put("<"); 
        put(tag); 
        put("\t"); 
        put("\"value\"="); 
        fprintf(out, "%d", value); 
        put("\t/>\n"); 
    } 

    int main() 
    {    
        FILE *fp = fdopen(1, "a"); 
        set_out_fp(fp); 

        put_head("xml version='1.0' encoding=\"GBK\""); 
        tag_start("投遞信息"); 
        tag_start("硬件"); 

        tag_value_num("網(wǎng)卡", 1); 

        tag_end("硬件"); 
        tag_end("投遞信息"); 

        fclose(fp); 

        return 0; 
    } 

相關(guān)文章

  • C++服務(wù)器和客戶端交互的項(xiàng)目實(shí)踐

    C++服務(wù)器和客戶端交互的項(xiàng)目實(shí)踐

    本文主要介紹了C++服務(wù)器和客戶端交互的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • C/C++的文件IO函數(shù)你知道嗎

    C/C++的文件IO函數(shù)你知道嗎

    這篇文章主要為大家詳細(xì)介紹了C/C++的文件IO函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C++中策略模式和工廠模式的區(qū)別

    C++中策略模式和工廠模式的區(qū)別

    這篇文章介紹了C++中策略模式和工廠模式的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 詳解c++中的異常

    詳解c++中的異常

    程序在運(yùn)行過(guò)程中,有對(duì)也就有錯(cuò),正確那么就不用說(shuō)了,但是如果錯(cuò)誤,那么我們?nèi)绾慰焖俚亩ㄎ坏藉e(cuò)誤的位置,以及知道發(fā)生了什么錯(cuò)誤。當(dāng)一個(gè)函數(shù)發(fā)現(xiàn)自己無(wú)法處理的異常,就會(huì)拋出一個(gè)異常,讓函數(shù)調(diào)用者直接或者間接的處理這個(gè)錯(cuò)誤。本文將詳解介紹c++中的異常
    2021-06-06
  • C++深度探索虛函數(shù)覆蓋示例

    C++深度探索虛函數(shù)覆蓋示例

    虛函數(shù)主要通過(guò)V-Table虛函數(shù)表來(lái)實(shí)現(xiàn),該表主要包含一個(gè)類的虛函數(shù)的地址表,可解決繼承、覆蓋的問(wèn)題,下面這篇文章主要給大家介紹了如何通過(guò)一篇文章帶你掌握C++虛函數(shù)的來(lái)龍去脈,需要的朋友可以參考下
    2022-12-12
  • QT定時(shí)器事件的實(shí)現(xiàn)示例

    QT定時(shí)器事件的實(shí)現(xiàn)示例

    本文介紹了QT定時(shí)器事件的概念和原理,闡述了其工作方式及實(shí)現(xiàn)方法,QT定時(shí)器事件可以用于在一定時(shí)間間隔內(nèi)執(zhí)行特定的任務(wù),從而實(shí)現(xiàn)定時(shí)操作和控制,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 淺談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換

    淺談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換

    下面小編就為大家?guī)?lái)一篇淺談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換。小編覺得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)

    C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 使用C++實(shí)現(xiàn)FTP上傳和下載

    使用C++實(shí)現(xiàn)FTP上傳和下載

    當(dāng)在Windows上使用C++進(jìn)行FTP上傳和下載時(shí),您可以使用libcurl庫(kù)來(lái)簡(jiǎn)化操作,本文將為大家詳細(xì)介紹具體步驟,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • 詳解C語(yǔ)言內(nèi)核中的自旋鎖結(jié)構(gòu)

    詳解C語(yǔ)言內(nèi)核中的自旋鎖結(jié)構(gòu)

    自旋鎖是內(nèi)核中提供的一種高IRQL鎖,用同步以及獨(dú)占的方式訪問(wèn)某個(gè)資源。自旋鎖是為了解決內(nèi)核鏈表讀寫時(shí)存在線程同步問(wèn)題。本文將講解一下自旋鎖的簡(jiǎn)單應(yīng)用,感興趣的可以了解一下
    2022-09-09

最新評(píng)論