C语言拷贝文件函数实现(linux cp [source file] [target file] 命令的实现)

来源:互联网 发布:淘宝网海外购保健品 编辑:程序博客网 时间:2024/04/29 19:56
/** * 功能:拷贝文件函数 * 参数: * sourceFileNameWithPath:源文件名(带路径) * targetFileNameWithPath:目标文件名(带路径) * 返回值: * SUCCESS: 拷贝成功 * FAILURE:拷贝失败 * author:wangchangshuai jlu */int copyFile(const char *sourceFileNameWithPath,        const char *targetFileNameWithPath){FILE *fpR, *fpW;char buffer[BUFFER_SIZE];int lenR, lenW;if ((fpR = fopen(sourceFileNameWithPath, "r")) == NULL){myLog("The file '%s' can not be opened! \n", sourceFileNameWithPath);return FAILURE;}if ((fpW = fopen(targetFileNameWithPath, "w")) == NULL){myLog("The file '%s' can not be opened! \n", targetFileNameWithPath);fclose(fpR);return FAILURE;}memset(buffer, 0, BUFFER_SIZE);while ((lenR = fread(buffer, 1, BUFFER_SIZE, fpR)) > 0){if ((lenW = fwrite(buffer, 1, lenR, fpW)) != lenR){myLog("Write to file '%s' failed!\n", targetFileNameWithPath);fclose(fpR);fclose(fpW);return FAILURE;}memset(buffer, 0, BUFFER_SIZE);}fclose(fpR);fclose(fpW);return SUCCESS;}

2 0