C言語のstrcpy関数において、元の文字列が空の場合はどのように扱うのですか?
C言語では、strcpy関数は1つの文字列を別の文字列にコピーするために使用されます。ソース文字列が空の場合、ターゲット文字列をただちに空にします。以下はソース文字列が空の場合の処理の例コードです:
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "";
char dest[100];
if (strlen(src) == 0) {
dest[0] = '\0'; // 直接将目标字符串置空
} else {
strcpy(dest, src);
}
printf("目标字符串: %s\n", dest);
return 0;
}
上記のコードでは、最初に元の文字列srcが空かどうかを判断し、空であれば、目的の文字列destの最初の文字を’\0’、つまり空白文字に設定します。元の文字列が空でない場合は、strcpy関数を使用して元の文字列を目的の文字列にコピーします。最後に、目的の文字列の内容を出力します。