我试图编写一个简单的函数来获取名字,并在添加扩展名后返回。 例如,如果我有字符指针“abcd”该函数应该返回“abcd.as”在C中使用strcpy函数,不知道长度
我试图写这个函数,获取字符指针,并返回一个指向新的字符后添加扩展名。但不工作有人知道为什么吗?
char* AddFileExtension(char* FileName)
{
char* FixFileName=NULL;
char* Extension = ".as";
strcpy(FixFileName, FileName);
strcat(FixFileName, Extension);
return FixFileName;
}
char * FixFileName = malloc(strlen(FileName)+ strlen(Extension)+ 1);为什么你在malloc的末尾加了“+1”? – Yuval
@Yuval:对于NUL终结者。 http://en.wikipedia.org/wiki/Null-terminated_string – NPE