構文
int fcopy(
char *filename1,
char *filename2,
int mode,
pFileCopy FileCopyCb
);
パラメータ
- filename1
- [in] コピー先のファイル名へのポインタです。
- filename2
- [in] コピー元のファイル名へのポインタです。
存在しないファイル、またはファイルサイズ0のファイルを指定した場合、エラーとなります。 - mode
- [in] 実行する動作内容。
以下の値が指定可能です。値 説明 WRITE_ONLY コピーのみを行います。 WRITE_VERIFY コピーの後にベリファイを行います。 - FileCopyCb
- [in] コピーおよびベリファイの進捗を取得するコールバック関数を指定します。
取得不要な場合はNULLを指定してください。
コールバック関数の書式は以下の通りです。
記述例もご参照ください。
pFileCopy FileCopyCb(unsigned char stat, unsigned char progress)
FileCopyCb
取得した進捗の内容です。
以下のいずれかの値が入ります。
値 説明 COPY_FILE コピーの進捗を示します。 VERIFY_FILE ベリファイの進捗を示します。
進捗度が0〜100 (%)の値で入ります。
戻り値
関数が正常終了した場合(コピー成功)OK,異常終了した場合ERRORを返します。値 | 説明 |
---|---|
OK | 正常終了(コピー成功) |
それ以外の負値 | 異常終了(引数異常、コピー失敗など) |
解説
本APIはOSバージョンTH15J06以降の対応となります。必要条件
ヘッダファイル:
lib.hライブラリファイル:
libSTARTUPOPH5000.a
サンプル
#include <stdio.h>
#include "lib.h"
void fcopy_cb(unsigned char stat, unsigned char progress)
{
switch(stat)
{
case COPY_FILE:
GotoXY(0,1);
printf(" COPY-%d%%", progress);
break;
case VERIFY_FILE:
GotoXY(11,1);
printf(" VERI-%d%%", progress);
break;
}
}
void main(void)
{
int ret;
ret = fcopy("copy.txt", "original.txt", WRITE_ONLY, fcopy_cb);
if(ret == OK)
{
printf("fcopy succeed.\n\r");
} else {
printf("fcopy failed.\n\r");
}
while(1)
{
Idle();
}
}
最終更新日:2020/10/08