用C语言怎么实现复制自己
2015-01-29 12:18
330 查看
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char str[80];
int i = 0;
for(i = 0; i < 5; i++)
{
sprintf(str, "cp %s %d%s", argv[0], i, ".out"); //在WIN下用copy取代cp
system(str);
}
//printf("%s\n", str);
return 0;
}
下边是自己动手写的copy函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void copy_file(char *SrcFileName, char *DesFileName)
{
char buf[1024];
int read_len = 0;
FILE *in = NULL;
FILE *out = NULL;
if((in = fopen(SrcFileName, "rb")) == NULL)
{
printf("Open %s failure.\n", SrcFileName);
exit(1);
}
if((out = fopen(DesFileName, "wb")) == NULL)
{
printf("Open %s failure.\n", SrcFileName);
exit(1);
}
while((read_len = fread(buf, sizeof(char), 1024, in)) != 0) {
fwrite(buf, sizeof(char), read_len, out);
}
fclose(in);
fclose(out);
}
int main(int argc, char *argv[])
{
char str[80];
int i = 0;
char *find_result;
for(i = 0; i < 5; i++)
{
sprintf(str, "%d%s", i, ".out");
find_result = strrchr(argv[0], '/');
if (strcmp(str, find_result + 1) !=0 )
{
copy_file(argv[0], str);
}
}
printf("%s\n", str);
return 0;
}
#include <string.h>
int main(int argc, char *argv[])
{
char str[80];
int i = 0;
for(i = 0; i < 5; i++)
{
sprintf(str, "cp %s %d%s", argv[0], i, ".out"); //在WIN下用copy取代cp
system(str);
}
//printf("%s\n", str);
return 0;
}
下边是自己动手写的copy函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void copy_file(char *SrcFileName, char *DesFileName)
{
char buf[1024];
int read_len = 0;
FILE *in = NULL;
FILE *out = NULL;
if((in = fopen(SrcFileName, "rb")) == NULL)
{
printf("Open %s failure.\n", SrcFileName);
exit(1);
}
if((out = fopen(DesFileName, "wb")) == NULL)
{
printf("Open %s failure.\n", SrcFileName);
exit(1);
}
while((read_len = fread(buf, sizeof(char), 1024, in)) != 0) {
fwrite(buf, sizeof(char), read_len, out);
}
fclose(in);
fclose(out);
}
int main(int argc, char *argv[])
{
char str[80];
int i = 0;
char *find_result;
for(i = 0; i < 5; i++)
{
sprintf(str, "%d%s", i, ".out");
find_result = strrchr(argv[0], '/');
if (strcmp(str, find_result + 1) !=0 )
{
copy_file(argv[0], str);
}
}
printf("%s\n", str);
return 0;
}
相关文章推荐
- 用C语言怎么实现复制自己
- 【c语言】不用库函数自己实现字符串的复制
- 旧文章:用c语言实现程序的自我复制 (2008-08-30 16:01:36)
- 自己写的,用c语言实现的一个数组存储的线性表
- 杂记之C语言实现复制函数strcpy和strcnpy
- 自己用代码实现非空目录的删除(java及C语言)
- linux下c语言实现多线程文件复制
- 自己写的成绩管理系统(c语言实现)
- C语言测试。自己实现scandir 函数
- 刚进入新的公司,感觉没有实现自己的价值,怎么办?
- C语言实现所有格式文件复制
- 【C语言】C语言实现文件内容的复制
- 自己实现的C语言string.h 头文件的字符串函数与几个内存操作函数
- c语言中实现动态数组!(自己包的,共大家思考)
- 网页怎么实现文本框内容复制到剪贴板
- c语言中调用函数的返回值,如果是数组,主函数要输出这个数组怎么实现?
- (C语言) 怎么用代码实现一个学生成绩管理系统
- C语言字符切割函数的实现——不需要自己指定分配多少个字符串分组
- 回溯法( Backtracking Algorithms ) :C语言Maze迷宫问题(自己实现)
- C语言实现文件复制