文字列の長さを調べる
明解C言語 入門編 > 9. 文字列の基本 >
文字列の長さを調べる
C
#include <stdio.h>
#include <string.h>unsigned str_length(const char str[])
{
unsigned len = 0;while (str[len])
len++;return len;
}int main(int argc, char* argv[])
{
char str[100] = "ABC";printf("sizeof(\"%s\") = %u\n", str, (unsigned)sizeof(str));
printf("strlen(\"%s\") = %u\n", str, strlen(str));
printf("str_length(\"%s\") = %u\n", str, str_length(str));return 0;
}
実行結果
R:\>lesson072\Project1.exe
sizeof("ABC") = 100
strlen("ABC") = 3
str_length("ABC") = 3
Delphi
program Project1;{$APPTYPE CONSOLE}
uses
SysUtils;procedure main();
var
str: String;
begin
str := 'ABC';
Writeln(Format('length(''%s'') = %d', [str, Length(str)]));
end;begin
main;
end.
実行結果
S:\>lesson072\Project1.exe
length('ABC') = 3
Perl
sub char_count { ($_) = @_; # 全角文字数を数え、全角文字を消去する $lz = s/[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc]//g; # 半角文字数を数える $lh = length($_); # 全角・半角の文字数を足して返す return $lz + $lh; } $n = &char_count("123"); print "文字数('123') = $n \n"; $n = length("123"); print "バイト('123') = $n \n";
実行結果
L:\>perl lesson_09_072.pl
文字数('123') = 3
バイト('123') = 6