文字列を読み込み、書式化して表示

明解C言語 入門編 > 9. 文字列の基本 >

文字列を読み込み、書式化して表示

C


#include <stdio.h>


int main(int argc, char* argv[])
{
char str[40];

printf("文字を入力してください:");
scanf("%s", str);

printf("%s\n", str); /* そのまま */
printf("%5s\n", str); /* 最低5桁 */
printf("%.3s\n", str); /* 3桁まで */
printf("%8s\n", str); /* 右詰め */
printf("%-8s\n", str); /* 左詰め */

return 0;
}

実行結果


R:\>lesson070\Project1.exe
文字を入力してください:ABCD
ABCD
ABCD
ABC
ABCD
ABCD

C++


#include <iostream.h>
#include <iomanip.h>

int main(int argc, char* argv[])
{
char str[40];

cout << "文字を入力してください:";
cin >> str;

cout << str << endl; // そのまま
cout << setw(5) << str << endl; // 最低5桁
cout << setw(3) << str << endl; // 3桁まで
cout << setw(8) << right << str << endl; // 右詰め
cout << setw(8) << left << str << endl; // 左詰め

return 0;
}

実行結果


T:\>lesson070\Project1.exe
文字を入力してください:ABCD
ABCD
ABCD
ABCD
ABCD
ABCD

Delphi


program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

procedure main();
var
str: String;
begin
write('文字を入力してください:');
read(str);

Writeln(Format('%s', [str])); (* そのまま *)
Writeln(Format('%5s', [str])); (* 最低5桁 *)
Writeln(Format('%.3s', [str])); (* 3桁まで *)
Writeln(Format('%8s', [str])); (* 右詰め *)
Writeln(Format('%-8s', [str])); (* 左詰め *)
end;

begin
main;
end.

実行結果


S:\>lesson070\Project1.exe
文字を入力してください:ABCD
ABCD
ABCD
ABC
ABCD
ABCD

Perl
print "文字を入力してください:";
chomp($str = <>);

printf("%s\n",   $str); # そのまま
printf("%5s\n",  $str); # 最低5桁
printf("%.3s\n", $str); # 3桁まで
printf("%8s\n",  $str); # 右詰め
printf("%-8s\n", $str); # 左詰め

実行結果

L:\>perl lesson_09_070.pl
文字を入力してください:ABCD
ABCD
ABCD
ABC
ABCD
ABCD

Ruby
print "文字を入力してください:"
str = STDIN.gets.chomp

printf("%s\n",   str) # そのまま
printf("%5s\n",  str) # 最低5桁
printf("%.3s\n", str) # 3桁まで
printf("%8s\n",  str) # 右詰め
printf("%-8s\n", str) # 左詰め

実行結果

L:\>ruby l:\lesson_09_070.rb
文字を入力してください:ABCD
ABCD
ABCD
ABC
ABCD
ABCD