- 论坛徽章:
- 2
|
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main(int argc, char *argv[])
- {
- char filename[256];
- FILE* fileSRC;
- FILE* fileDST1;
- void *bufferSrc;
- unsigned int length;
- unsigned int bufferSize;
- int retval;
- if (argc > 1) {
- fileSRC= fopen(argv[1], "r");
- if(fileSRC != NULL) {
- strcpy(filename, argv[1]);
- strcat(filename, ".1");
- fileDST1= fopen(filename, "w");
- if (fileDST1 != NULL) {
- bufferSize = 1024 * 1024; //1M bytes buffer
- bufferSrc = malloc(bufferSize);
- if (bufferSrc != NULL) {
- while(!feof(fileSRC)) {
- length = fread(bufferSrc, 1, bufferSize, fileSRC);
- printf("%d\n", length);
- fwrite(bufferSrc, length, 1, fileDST1);
- }
- free(bufferSrc);
- retval = 0;
- }else {
- printf("没有内存空间\n");
- retval = -1;
- }
- fclose(fileDST1);
- }else {
- printf("不能写文件\n");
- retval = -2;
- }
- fclose(fileSRC);
- }else {
- printf("文件不存在或不可读\n");
- retval = -3;
- }
- }else {
- printf("USAGE: dupfile <source_file>\n");
- retval = -4;
- }
- return retval;
- }
复制代码 |
|