全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1633
推到 Plurk!
推到 Facebook!

讀檔和比對檔案

尚未結案
lpohung
一般會員


發表:5
回覆:1
積分:1
註冊:2004-04-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-05 18:12:51 IP:203.77.xxx.xxx 未訂閱
各位大大 請問 如果有三個檔案分別為v1.01_ship.txt v1.01_20040505.txt v1.01_device.txt 時間一到會自動執行和資料夾內的檔案比對 資料夾內比如有這些檔案 v1.01_ship.txt, v1.02_ship.txt v1.01_20040504.txt, v1.02_20040505.txt, v1.03_20040505.txt, v1.01_device.txt, v1.02_device.txt, v1.02_device.txt 比對時已v1.01為依據 v1.01_ship.txtc和v1.01_ship.txt 比對 v1.01_20040505.txt和 v1.01_20040504.txt比對 v1.01_device.txt和v1.01_device.txt比對 如比對有不同 則把沒有比對到的資料 儲存成v1.01_ship.txt,v1.01_20040505.txt,v1.01_device.txt裡面的內容和原本的內容會不一樣 請問各位好心的大爺們 這該如何作呢 感恩大大們
Roach
中階會員


發表:61
回覆:104
積分:98
註冊:2002-11-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-13 21:19:35 IP:211.20.xxx.xxx 未訂閱
引言: 各位大大 請問 如果有三個檔案分別為v1.01_ship.txt v1.01_20040505.txt v1.01_device.txt 時間一到會自動執行和資料夾內的檔案比對 資料夾內比如有這些檔案 v1.01_ship.txt, v1.02_ship.txt v1.01_20040504.txt, v1.02_20040505.txt, v1.03_20040505.txt, v1.01_device.txt, v1.02_device.txt, v1.02_device.txt 比對時已v1.01為依據 v1.01_ship.txtc和v1.01_ship.txt 比對 v1.01_20040505.txt和 v1.01_20040504.txt比對 v1.01_device.txt和v1.01_device.txt比對 如比對有不同 則把沒有比對到的資料 儲存成v1.01_ship.txt,v1.01_20040505.txt,v1.01_device.txt裡面的內容和原本的內容會不一樣 => 指的是檔案長度與大小不一樣嗎??(比對過ok的不用存檔)
 
標頭檔
#include "stdio.h"    以下寫在timer 裡面以便定時檢查    FILE *fa1,*fa2,*fa3;
FILE *fb1,*fb2,*fb3,
FILE *n1,*n2,*n3;    fa1=fopen("v1.01_ship.txtc","r");
fb1=fopen("v1.01_ship.txt","r");
n1=fopen("v1.01_ship.txt","w"); //差異檔
char a,b;
bool loop=true;
while(loop==true && (a=fgetc(fa1))!=EOF ){ //此迴圈讀檔用
if((b=fgetc(fb1))!=EOF && a!=b )
    loop=false;//比對不同時跳出迴圈
}//end while
if( loop==false ){ //表示有差異
  while((a=fgetc(fa1))!=EOF){
      fputc(a,n1); //存到新的檔案
  }
}    fclose(fa1);
fclose(fb1);
fclose(n1);
// 其他兩個檔案如法炮製
// 隨手寫的沒debug過,你可能要依照實際需求修飾一下
-------------- 只是為了成就感??
系統時間:2024-06-26 10:34:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!