【发布时间】:2015-01-04 19:39:12
【问题描述】:
这段代码总结了我遇到的问题。我想将文件从源复制到指定的目标,我可以更改它的名称它是一个集成在我正在尝试创建的应用程序中的函数管理文件
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void concatenate_string(char *original, char *add)
{
while(*original!='\0')
original++;
while(*add!='\0')
{
*original = *add;
add++;
original++;
}
*original = '\0';
}
int main(int argc,char *argv[])
{
char *nom;
char *path;
printf("entrer a name \n");
scanf("%s",nom);
printf("entrer a pathh \n");
scanf("%s",pathh);
char *dest=(char*)malloc(strlen(nomm)+46+1);
strcat(dest,"/home/ridaamine/Desktop/app/application/Files/");
strcat(dest,nom);
char *comand=(char*)malloc(strlen(name)+8+strlen(path)+1);
strcat(comand,"cp -via ");
strcat(comand,path);
strcat(comand," ");
strcat(comand,name);
system(comand);
}
【问题讨论】:
-
使用
strcat(dest,"...");不会成功,因为字符串dest尚未初始化为空字符串。序列应该是malloc(...); strcpy(...); strcat(...)。comand同上。
标签: c string segmentation-fault