[Cベース-文字列出力と入力]
文字列の出力と入力
整数や実数などの数字しか使われていませんが、ハングルや英語などの文字はどう使いますか?
リンクリソースクリーンアップテーブル
charは文字と数字を表すデータ型で、サイズは1バイト、合計256文字で、-128から127までです.数字(整数型)の文字の使い方についての疑問は以下の通りです.
文字を数字で対応させて使用します.例えば、アルファベット「a」は97という数字に対応します.このようにして各文字を数字と一致させ、表現する方法です.これをアスキーパスワードといいます.
上の表は、0から127のマッチングを示すAskyコード表です.
256という限られた数字のため、Unicode(UNICode)が現れた.Unicodeは文字を1バイトではなく2バイトに処理し、256倍の65536文字を表すことができる.これはこれまでの様々な言語や特殊文字を示しているが、まだ2万個ほどの種類が残っている.
#include <stdio.h>
int main()
{
char ch = 'a';
printf("%d\n", ch); // a 와 매칭되는 97 출력
printf("%c\n", ch); // a 출력
return 0;
}
しゅつりょく
97
a
出力の説明
1番目の出力は%dで「a」を表し、2番目の出力は出力文字の%cでaを表す.97は「a」のアスキーコードです.
#include <stdio.h>
int main()
{
char ch = 'ab';
printf("%d\n", ch);
printf("%c\n", ch);
return 0;
}
しゅつりょく
98
b
出力の説明
char資料型は1バイトで、1文字しか含まれません.abに最後に入力されたbのみがch変数に含まれます.
変数に複数の文字を含める
整数型をいくつか入れたいのであれば、int型配列を作るように、数文字入れたいのであればchar型配列を作ることができます.
これまでは逐字出力であったため%cを用いたが、複数文字を含む文字列を出力する場合には%sを用いることができた.
#include <stdio.h>
int main()
{
char ch[5] = "abcd";
printf("ch 는 %s", ch);
return 0;
}
しゅつりょく
chはabcd
出力の説明
abcdが写っているのが見えますが、列の大きさは4文字で、4ではなく5を占めています.ユーザーが望むのはabcd全体の出力かもしれませんが、コンピュータが本当に認識している場合は、どのくらいの長さがあるかを教える必要があります.しかし、印刷されるたびに、この配列が4文字なのか5文字なのかを教えてくれるのは面倒です.
だから最後の残りの位置に0,NULL,0を入れます.三つの字は同じで、終わりの言葉を指します.
このエンドマークで、コンピュータがどこに出力するかを教え、正常に出力します.
#include <stdio.h>
int main()
{
char ch[7] = { 'a', 'b', 'c', 'd', 0, 'e', 'f' };
printf("ch 는 %s", ch);
return 0;
}
しゅつりょく
chはabcd
出力の説明
上のコードを見るとabcdにしか出力されていないことがわかります.
文字列に値を代入する場合は、宣言時に前に書いたコードのようにすぐに値を割り当てる必要があります.宣言後に値を置換しようとすると、エラーが発生します.宣言後にコードから値を置換する場合は、次の操作を行います.
ch[0] = 'a';
ch[1] = 'b';
表示されるように、1つずつ保存してください.
テキスト入力の受信
#include <stdio.h>
int main()
{
char ch[201];
printf("200 자 이내로 입력해주세요 : ");
scanf("%s", &ch);
printf("%s", ch);
return 0;
}
しゅつりょく
200文字以内を入力してください:fredkeemhous
fredkeemhaus
出力の説明
scanfを使用して入力を受け入れる場合は、&を貼り付ける必要があります.住所を伝えるから.
ただし,文字列配列については,&を用いる必要はなく,変数名を記入するだけでよい.
Reference
この問題について([Cベース-文字列出力と入力]), 我々は、より多くの情報をここで見つけました https://velog.io/@fredkeemhaus/C-기초-문자열-출력과-입력テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol