私は、char *を取得し、同じcharへのポインターを返す関数を作成する方法を考えようとしていますが、彼の最後にいくつかの定数文字を追加しました。
char* addExtension(char* FileName)
{
}
これが、標準ライブラリ関数strcat()
(「文字列連結」用)が行うことだと思います。あなたはそれを使用することを検討する必要があります。
また、バッファオーバーランの危険性にも注意してください。このような関数(さらにstrcat()
言えば、)には、使用可能なスペースに関する情報が含まれていないため、本質的に安全ではありません。
とにかく任意の文字列ではなく、実際にはそれを行うことはできません。文字列は次のようになります。
Segmentation fault
または悪化します。malloc
'dポインタ-それらにも固定量のスペースがあり、dである必要がありますfree
。文字列をコピーして新しい文字列を返すことはできますが、古い文字列を処理しないと、メモリリークが発生する可能性があります。例
char *copycat(char *first, char *second) {
char *result = malloc(strlen(first)+strlen(second)+1);
strcpy(result, first);
strcpy(result+strlen(first), second);
return result;
}