我試圖編寫一個簡單的函數來獲取名字,並在添加擴展名後返回。 例如,如果我有字符指針「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