C言語で文字列を取得する方法は何ですか?
C言語では、以下の方法で文字列を取得することができます。
- 文字列配列を使用すると、文字列を保存するために文字列配列を宣言して、scanf()関数を使用してユーザーからの入力を取得することができます。例:
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
printf("您输入的字符串是:%s\n", str);
return 0;
}
- ポインタを使用すると、文字列を格納するための文字ポインタを宣言し、gets()関数を使用してユーザーの入力文字列を取得できます。例:
#include <stdio.h>
int main() {
char *str;
printf("请输入一个字符串:");
gets(str);
printf("您输入的字符串是:%s\n", str);
return 0;
}
文字中の内容の重要な点は、ポインタを使用して文字列を取得する際に、事前にポインタにメモリスペースを割り当てるか、動的メモリ割り当て関数(例:malloc())を使用してポインタにメモリスペースを割り当てる必要があるということです。
別の方法として、空白を含む文字列を取得する場合は、scanf()やgets()関数ではなく、fgets()関数を使用することをお勧めします。入力のオーバーフローの問題を防ぐためです。