ファイルのコピーを行います。

構文

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 ベリファイの進捗を示します。
progress
 進捗度が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