【发布时间】:2014-12-08 12:57:47
【问题描述】:
我试图创建两个路径,以便将文件从一个文件夹复制到另一个文件夹。 我第二次尝试连接 args [1] 时遇到分段错误。 尝试使用 strcpy 将单元格复制到另一个字符,但它没有帮助。还有很多我没有成功的东西。 我猜这些字符串命令的某些东西弄乱了我的 char 数组,并且不允许我执行 concat twise。 路径应该是形式 “服务器/文件#” 或“客户端#/文件#” # 是来自 args 的参数。 我环顾四周,看到了一些类似的东西,但不完全是。 请帮忙。
所有需要的“包含”都在里面。
void copy_file(char *args[]){
char dst_path[100],src_path[100];
memset(dst_path,0,100);
memset(src_path,0,100);
strcpy(dst_path,"Client");
strcat(dst_path,args[0]);
strcat(dst_path,"/File");
strcat(dst_path,args[1]);
strcpy(src_path,"Server/File");
strcat(src_path,args[1]);
}
【问题讨论】:
-
另外,
i从未被声明过,你应该真正使用 memset。 -
两者都做了...仍然没有解决方案..
-
旁注:您以
strcpy开头的事实使得对memset的调用变得多余。顺便说一句,你也可以在声明时设置它们(在性能方面它或多或少与调用strcpy相同,但在代码方面它会更干净)。 -
只是像这样打印它们- printf("%s , %s",args[0],args[1]);工作正常。
标签: c string segmentation-fault