站長資訊網
        最全最豐富的資訊網站

        C語言文件系統應用舉例

        文件操作在程序設計中是非常重要的技術,文件的數據格式不同,決定了對文件操作方
        式的不同。
        [例8-10] 我們需要同時處理三個文件。文件a d d r. t x t記錄了某些人的姓名和地址;文件
        t e l . t x t記錄了順序不同的上述人的姓名與電話號碼。希望通過對比兩個文件,將同一人的姓名、
        地址和電話號碼記錄到第三個文件a d d r t e l . t x t。首先看一下前兩個文件的內容:
        type addr.txt
        h e j i e t i a n j i n g
        l i y i n g s h a n g h a i
        l i m i n g c h e n g d u
        w a n g p i n c h o n g q i n g
        type tel.txt?
        l i y i n g 1 2 3 4 5
        h e j i e 8 7 6 4
        w a n g p i n 8 7 6 4 3
        l i m i n g 7 6 5 4 3 2 2
        這兩個文件格式基本一致,姓名字段占1 4個字符,家庭住址或電話號碼長度不超過1 4個
        字符,并以回車結束。文件結束的最后一行只有回車符,也可以說是長度為0的串。在兩個文
        件中,由于存放的是同一批人的資料,則文件的記錄數是相等的,但存放順序不同。我們可
        以任一文件記錄為基準,在另一文件中順序查找相同姓名的記錄,若找到,則合并記錄存入第三個文件,將查找文件的指針移到文件頭,以備下一次順序查找。
        #include <stdio.h>
        #include <stdlib.h>
        #include <conio.h>
        #include <string.h>
        m a i n ( )
        {
        FILE *fptr1,*fptr2,*fptr3; / * 定義文件指針* /
        char temp[15],temp1[15],temp2[15];
        if ((fptr1=fopen(“addr.txt”,”r”))==NULL)/ *打開文件* /
        {
        printf(“cannot open file”);
        e x i t ( 0 ) ;
        }
        if ((fptr2=fopen(“tel.txt”,”r”))==NULL)
        {
        printf(“cannot open file”);
        e x i t ( 0 ) ;
        }
        if ((fptr3=fopen(“addrtel.txt”,”w”))==NULL)
        {
        printf(“cannot open file”);
        e x i t ( 0 ) ;
        }
        c l r s c r ( ) ; / *清屏幕* /
        while(strlen(fgets(temp1,15,fptr1))>1) 讀 /回*的姓名字段長度大于1* /
        {
        f g e t s ( t e m p 2 , 1 5 , f p t r 1 ) ; / * 讀地址* /
        f p u t s ( t e m p 1 , f p t r 3 ) ; / * 寫入姓名到合并文件* /
        f p u t s ( t e m p 2 , f p t r 3 ) ; / * 寫入地址到合并文件* /
        s t r c p y ( t e m p , t e m p 1 ) ; / * 保存姓名字段* /
        do /*查找姓名相同的記錄* /
        {
        f g e t s ( t e m p 1 , 1 5 , f p t r 2 ) ;
        f g e t s ( t e m p 2 , 1 5 , f p t r 2 ) ;
        } while (strcmp(temp,temp1)!=0);
        r e w i n d ( f p t r 2 ) ; / * 將文件指針移到文件頭,以備下次查找* /
        f p u t s ( t e m p 2 , f p t r 3 ) ; / * 將電話號碼寫入合并文件* /
        }
        f c l o s e ( f p t r 1 ) ; / *關閉文件* /
        f c l o s e ( f p t r 2 ) ;
        f c l o s e ( f p t r 3 ) ;
        }
        程序運行后,我們來看一下合并后的文件a d d r t e l . t x t的內容:
        type addrtel.txt
        hejie tianjing
        8 7 6 4
        liying shanghai
        1 2 3 4 5
        liming chengdu
        7 6 5 4 3 2 2
        wangpin chongqing
        8 7 6 4 3

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 漂亮人妻被黑人久久精品| 日本精品在线视频| 精品在线免费观看| 亚洲精品乱码久久久久久不卡| 四虎4hu永久免费国产精品| 久久丫精品国产亚洲av| 亚洲精品国产精品乱码不卡| 国产午夜精品一本在线观看| 麻豆精品成人免费国产片| 久久亚洲精品无码AV红樱桃| 无码精品人妻一区二区三区影院 | 精品国产一级在线观看| 精品久久一区二区| 97在线精品视频| 精品乱码一区二区三区四区| 亚洲精品无码专区久久久| 日韩精品成人亚洲专区| 免费人欧美日韩在线精品| 国产伦精品一区二区三区视频猫咪 | 国产成人精品一区二区秒拍| 亚洲精品制服丝袜四区| 最新国产精品拍自在线播放| 日韩精品无码久久一区二区三| 久久成人精品| 久久夜色撩人精品国产| 久久久久一级精品亚洲国产成人综合AV区 | 久久夜色精品国产亚洲av| 精品免费久久久久国产一区| 国产成人综合久久精品尤物| 一区二区三区四区精品视频| 8050免费午夜一级国产精品| 97精品国产自在现线免费观看 | 色偷偷88888欧美精品久久久 | 人妻无码久久精品| 久久99精品久久久久久齐齐| 精品国产乱码久久久久久浪潮| 国产乱人伦偷精品视频不卡| 久久精品国产精品亚洲艾草网美妙| 黑巨人与欧美精品一区| 欧美在线精品一区二区三区 | 国产午夜精品久久久久九九电影|