#REDIRECT [[String length]]
{{task}}
In this task, the goal is to find the length of a string.
==[[ActionScript]]==
[[Category:ActionScript]]
myStrVar.length()
==[[Ada]]==
[[Category:Ada]]
'''Compiler:''' GCC 4.1.2
Str : String := "Hello World";
Length : constant Natural := Str'Length;
==[[AppleScript]]==
[[Category:AppleScript]]
count of "Hello World"
==[[AWK]]==
[[Category:AWK]]
echo "Hello, world" | awk '{print length($0)}'
==[[C]]==
[[Category:C]]
'''Standard:''' [[ANSI C]] (AKA [[C89]]):
'''Compiler:''' GCC 3.3.3
#include <string.h>
int main(void)
{
const char *string = "Hello, world!";
size_t length = strlen(string);
return 0;
}
or by hand:
int main(void)
{
const char *string = "Hello, world!";
size_t length = 0;
char *p = (char *) string;
while (*p++ != '\0') length++;
return 0;
}
or (for arrays of char only)
#include <stdlib.h>
int main(void)
{
char const s[] = "Hello, world!";
size_t length = sizeof s - 1;
return 0;
}
For wide character strings (usually Unicode):
#include <stdio.h>
#include <wchar.h>
int main(void)
{
wchar_t *s = L"\x304A\x306F\x3088\x3046"; /* Japanese hiragana ohayou */
size_t length;
length = wcslen(s);
printf("Length in characters = %d\n", length);
printf("Length in bytes = %d\n", sizeof(s) * sizeof(wchar_t));
return 0;
}
==[[C plus plus|C++]]==
[[Category:C plus plus|C++]]
'''Standard:''' [[ISO C plus plus|ISO C++]] (AKA [[C plus plus 98|C++98]]):
'''Compiler:''' g++ 4.0.2
#include <string> // note: '''not''' <string.h>
int main()
{
std::string s = "Hello, world!";
std::string::size_type length = s.length();
}
For wide character strings:
#include <string>
int main()
{
std::wstring s = L"\u304A\u306F\u3088\u3046";
std::wstring::size_type length = s.length();
}
==[[C sharp|C#]]==
[[Category:C sharp|C#]]
'''Platform:''' [[.NET]]
'''Language Version:''' 1.0+
string s = "Hello, world!";
int length = s.Length;
==[[ColdFusion]]==
[[Category:ColdFusion]]
#len("Hello World")#
==[[Common Lisp]]==
[[Category:Common Lisp]]
(length "Hello World")
==[[Component Pascal]]==
[[Category:Component Pascal]]
LEN("Hello, World!")
==[[Forth]]==
[[Category:Forth]]
'''Interpreter:''' ANS Forth
CREATE s ," Hello world" \ create string "s"
s C@ ( -- length )
==[[Haskell]]==
[[Category:Haskell]]
'''Interpreter:''' [[GHC | GHCi]] 6.6, [[Hugs]]
'''Compiler:''' [[GHC]] 6.6
strlen = length "Hello, world!"
==[[IDL]]==
[[Category:IDL]]
'''Compiler:''' any IDL compiler should do
length = strlen("Hello, world!")
==[[Java]]==
[[Category:Java]]
'''Compiler:''' any Java compiler should do
String s = "Hello, world!";
int length = s.length();
==[[JavaScript]]==
[[Category:JavaScript]]
var s = "Hello, world!";
var len = s.length; // returns an integer
==[[JudoScript]]==
[[Category:JudoScript]]
//Store length of hello world in length and print it
. length = "Hello World".length();
==[[Lua]]==
[[Category:Lua]]
'''Interpreter:''' [[Lua]] 5.0 or later.
string="Hello world"
length=#string
==[[mIRC Scripting Language]]==
[[Category:mIRC Scripting Language]]
'''Interpreter:''' [[mIRC]]
alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! }
==[[OCaml]]==
[[Category:OCaml]]
'''Interpreter'''/'''Compiler:''' [[Ocaml]] 3.09
String.length "Hello world";;
==[[Perl]]==
[[Category:Perl]]
'''Interpreter:''' [[Perl]] any 5.X
my $length = length "Hello, world!";
==[[PHP]]==
[[Category:PHP]]
$length = strlen('Hello, world!');
==[[PL/SQL|PL/SQL]]==
[[Category:PL/SQL|PL/SQL]]
DECLARE
string VARCHAR2( 50 ) := 'Hello, world!';
stringlength NUMBER;
BEGIN
stringlength := length( string );
END;
==[[Python]]==
[[Category:Python]]
'''Interpreter:''' [[Python]] 2.4
length = len("The length of this string will be determined")
==[[Ruby]]==
[[Category:Ruby]]
string="Hello world"
print string.length
or
puts "Hello World".length
==[[Scheme]]==
[[Category:Scheme]]
(string-length "Hello world")
==[[Smalltalk]]==
[[Category:Smalltalk]]
string := 'Hello, world!".
string size.
==[[Standard ML]]==
[[Category:Standard ML]]
'''Interpreter:''' [[Standard ML of New Jersey | SML/NJ]] 110.60, [[Moscow ML]] 2.01 (January 2004)
'''Compiler:''' [[MLton]] 20061107
val strlen = size "Hello, world!";
==[[TCL]]==
[[Category:Tcl]]
Basic version:
string length "Hello, world!"
or more elaborately, needs '''Interpreter''' any 8.X. Tested on 8.4.12.
fconfigure stdout -encoding utf-8; #So that Unicode string will print correctly
set s1 "hello, world"
set s2 "\u304A\u306F\u3088\u3046"
puts [format "length of \"%s\" in characters is %d" $s1 [string length $s1]]
puts [format "length of \"%s\" in characters is %d" $s2 [string length $s2]]
==[[UNIX Shell]]==
[[Category:UNIX Shell]]
With external utilities:
'''Interpreter:''' any bourne shell
string='Hello, world!'
length=`echo -n "$string" | wc -c | tr -dc '0-9'`
echo $length # if you want it printed to the terminal
With SUSv3 parameter expansion modifier:
'''Interpreter:''' [[Almquist SHell]] (NetBSD 3.0), [[Bourne Again SHell]] 3.2, [[Korn SHell]] (5.2.14 99/07/13.2), [[Z SHell]]
string='Hello, world!'
length="${#string}"
echo $length # if you want it printed to the terminal
==[[VBScript]]==
[[Category:VBScript]]
Len(string)
or
Var = Len(Varname)
==[[xTalk]]==
[[Category:xTalk]]
'''Interpreter:''' HyperCard
put the length of "Hello World"
or
put the number of characters in "Hello World"
|