- 締切済み
テキストファイルの同期
はじめまして、超初心者プログラマのmoominといいます。 ファイルの同期プログラムに関して質問があるのですが、 あるテキストファイルを、他のディレクトリのテキストファイルとを 常に同期をするプログラムを作成しています。 これが作成したソースです。 ------------------------- #include "stdafx.h" #include <stdio.h> #include <windows.h> int _tmain(int argc, char *argv[]) { FILE *fp,*copy; int buffer; fp=fopen("○○○/×××.txt","rb"); copy=fopen("aaa/fff.txt","wb"); for(int i=1;i>0;i++){ fread(&buffer,sizeof(buffer),1,fp); fwrite(&buffer,sizeof(buffer),1,copy); if(feof(fp)){ fclose(fp); fclose(copy); } } return 0; } VC2008を利用して作成していますが、 一度きりの同期なら可能なのですが、 常に同期するというプログラムがわかりません。 どう変えればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- arain
- ベストアンサー率27% (292/1049)
>一度きりの同期なら可能なのですが、 >常に同期するというプログラムがわかりません。 >どう変えればよいでしょうか? 簡単なのは、無限ループとタイマ関数を使用するなどして定期的に質問の処理を繰り返すようにします。 簡単なコードっぽいもので表すと main() { while(1) { 一定時間待つ ファイルの同期(質問文の処理) } } って感じです。 但し、ループを抜けるための処理を作成するのが一手間かかりますが。 「常に」が「ファイル内容が更新された場合」であると、難易度が数十倍上がります。 「n回」であればwhile()でカウントすればよいので簡単ですが。 No.1氏 >であれば、ファイルをオープンする必要はないと思います。 質問者の処理ではオープンしてなきゃファイルポインタが見つからないから動作しませんよ
- koko_u_
- ベストアンサー率18% (459/2509)
>あるテキストファイルを、他のディレクトリのテキストファイルとを >常に同期をするプログラムを作成しています。 であれば、ファイルをオープンする必要はないと思います。