C言語での文字列連結の方法は何ですか?
C言語では、文字列の連結にはいくつかの方法がありますが、その中でよく使われる方法をいくつか紹介します。
- strcat関数の使用:strcat関数は、一つの文字列を別の文字列の末尾に結合するために使用されます。そのプロトタイプは以下の通りです:
char *strcat(char *dest, const char *src);
こちらはシンプルな日本語です。
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
結果は「Hello World!」です。
- sprintf関数を使用すると、フォーマットされたデータを文字列に書き込むことができます。 別の文字列を挿入するために%sフォーマット指定子を使用できます。 そのプロトタイプは次の通りです:
int sprintf(char *str, const char *format, ...);
このレポートは来週火曜日に提出しなければなりません。
#include <stdio.h>
int main() {
char str[100];
char name[] = "Alice";
int age = 20;
sprintf(str, "My name is %s and I am %d years old.", name, age);
printf("%s\n", str);
return 0;
}
私の名前はアリスで、20歳です。
- ポインタ操作の使用:ポインタを使用すると、文字列の末尾に別の文字列を直接追加できます。例:
#include <stdio.h>
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
int i = 0, j = 0;
while (str1[i] != '\0') {
i++;
}
while (str2[j] != '\0') {
str1[i] = str2[j];
i++;
j++;
}
str1[i] = '\0';
printf("%s\n", str1);
return 0;
}
結果は、”Hello World!”です。
実際のニーズに応じて適切な方法を選択して文字列を結合することができます。