C言語で文字列出力の長さを制限する方法
C言語では、フォーマット指定子を用いることで出力する文字列の長さを制御できます。代表的なフォーマット指定子は、整数を出力する「%d」、浮動小数点を出力する「%f」、文字列を出力する「%s」などがあります。
たとえば、整数の出力桁数を5桁にしたい時には、%5dの書式制御符が使える
int num = 123;
printf("%5d", num);
結果は 123(5 桁で、足りない部分は空白で埋められます)。
同様に、出力する浮動小数点数の桁数を6桁に制限する場合、%6fのフォーマット制御文字を使用できます。
float num = 1.23456789;
printf("%6f", num);
小数第6位まで出力する(不足時は後ろに0詰め)。
“%10s” フォーマット制御記号を使用して出力文字列の長さを10文字に制限できます。
char str[] = "Hello, world!";
printf("%.10s", str);
出力結果は「Hello, wor」です(最初の10文字のみを出力)。
なお、書式制御子は出力のみに作用し、変数の長さ自体を制限するものではないことに注意してください。