String Character Length: Difference between revisions

From Rosetta Code
Content deleted Content added
No edit summary
m Stupid case-sensitivity.
 
(133 intermediate revisions by 50 users not shown)
Line 1: Line 1:
#REDIRECT [[String length]]
{{task}}

In this task, the goal is to find the length of a string.

==[[Ada]]==
'''Compiler:''' GCC 4.1.2

Str : String := "Hello World";
Length : constant Natural := Str'Length;


==[[C]]==

'''Standard:''' [[ANSI C]] (AKA [[C89]]):

'''Compiler:''' GCC 3.3.3

#include <string.h>
int main(int argc, char ** argv) {
const char *string = "Hello, world!";
size_t length = strlen(string);
return 0;
};

or by hand:

int main(int argc, char ** argv) {
const char *string = "Hello, world!";
int length=0;
p = string;
while (*p++ != '\0') length++;
return 0;
};


or (for string literals only)

#include <stdlib.h>
int main()
{
char const s[] = "Hello, world!";
size_t length = sizeof s - 1;
return 0;
}

For wide character strings (usually Unicode):

#include <stdlib.h>
#include <stdio.h>
#include <wchar.h>
int main(int ac, char **av) {
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));
exit(0);
}

==[[C++]]==

'''Standard:''' [[ISO C++]] (AKA [[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#]]==

'''Platform:''' [[.NET]]
'''Language Version:''' 1.0+

string s = "Hello, world!";
int length = s.Length;

==[[Common Lisp]]==
(length "Hello World")

==[[Component Pascal]]==
LEN("Hello World")

==[[Java]]==

'''Compiler:''' any Java compiler should do

String s = "Hello, world!";
int length = s.length();

==[[JudoScript]]==

//Store length of hello world in length and print it
. length = "Hello World".length();

==[[Lua]]==

'''Interpreter:''' [[Lua]] 5.0 or later.

string="Hello world"
length=#string


==[[mIRC]]==

'''Compiler:''' [[mIRC]]

alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! }


==[[Perl]]==

'''Interpreter:''' [[Perl]] any 5.X

my $length = length "Hello, world!";

==[[PHP]]==

$length = strlen('Hello, world!');

==[[Python]]==

'''Interpreter:''' [[Python]] 2.4

length = len("The length of this string will be determined")

==[[Ruby]]==

string="Hello world"
print string.length

==[[Standard ML | SML]]==
'''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]]==
'''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]]==

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



==[[xTalk]]==

'''Interpreter:''' HyperCard

put the length of "Hello World"

or

put the number of characters in "Hello World"

Latest revision as of 19:31, 19 January 2008

Redirect to: