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

        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號
        主站蜘蛛池模板: 久夜色精品国产一区二区三区| 亚洲精品性视频| heyzo高无码国产精品| 精品人妻少妇一区二区| 99精品久久精品一区二区| 中文精品99久久国产| 国产精品一级AV在线播放| 国产午夜精品一区理论片| 热re99久久精品国99热| 欧美日韩国产成人高清视频,欧美日韩在线精品一 | 亚洲国产成人一区二区精品区| 国产精品片在线观看手机版| 国产成人精品综合网站| 全球AV集中精品导航福利| 亚洲精品tv久久久久| 久久精品国产99久久香蕉| 国产精品成人99久久久久| 久久免费精品视频| 国产精品视频久久久| 国产在线精品免费aaa片| 亚洲AV无码国产精品麻豆天美| 日本午夜精品理论片A级APP发布| 精品国产呦系列在线观看免费 | 四虎成人精品永久免费AV| 日本精品夜色视频一区二区| 精品人妻少妇一区二区三区在线| 国产成人综合精品一区| 四虎精品成人免费永久| 久久亚洲欧美日本精品| 国产欧美久久久精品| 2020久久精品国产免费| 精品久久人妻av中文字幕| 精品欧洲av无码一区二区| 精品视频一区二区三三区四区 | 精品蜜臀久久久久99网站| 国产精品亚洲а∨无码播放| 精品爆乳一区二区三区无码av| 国产AV午夜精品一区二区三区| av国内精品久久久久影院| 国产精品一二二区| 亚洲国产精品嫩草影院|