String Character Length: Difference between revisions
→[[Standard ML | SML]]: small style change |
No edit summary |
||
Line 4: | Line 4: | ||
==[[Ada]]== |
==[[Ada]]== |
||
[[Category:Ada]] |
|||
'''Compiler:''' GCC 4.1.2 |
'''Compiler:''' GCC 4.1.2 |
||
Line 11: | Line 13: | ||
==[[C]]== |
==[[C]]== |
||
[[Category:C]] |
|||
'''Standard:''' [[ANSI C]] (AKA [[C89]]): |
'''Standard:''' [[ANSI C]] (AKA [[C89]]): |
||
Line 68: | Line 71: | ||
} |
} |
||
==[[C++]]== |
==[[C plus plus|C++]]== |
||
[[Category:C plus plus|C++]] |
|||
'''Standard:''' [[ISO C plus plus|ISO C++]] (AKA [[C plus plus 98|C++98]]): |
'''Standard:''' [[ISO C plus plus|ISO C++]] (AKA [[C plus plus 98|C++98]]): |
||
Line 92: | Line 96: | ||
} |
} |
||
==[[ |
==[[C sharp|C#]]== |
||
[[Category:C sharp|C#]] |
|||
'''Platform:''' [[.NET]] |
'''Platform:''' [[.NET]] |
||
Line 101: | Line 106: | ||
==[[ColdFusion]]== |
==[[ColdFusion]]== |
||
[[Category:ColdFusion]] |
|||
#len("Hello World")# |
#len("Hello World")# |
||
==[[Common Lisp]]== |
==[[Common Lisp]]== |
||
[[Category:Common Lisp]] |
|||
(length "Hello World") |
(length "Hello World") |
||
==[[Component Pascal]]== |
==[[Component Pascal]]== |
||
[[Category:Component Pascal]] |
|||
LEN("Hello, World!") |
LEN("Hello, World!") |
||
==[[Forth]]== |
==[[Forth]]== |
||
[[Category:Forth]] |
|||
'''Interpreter:''' ANS Forth |
'''Interpreter:''' ANS Forth |
||
Line 116: | Line 128: | ||
==[[Haskell]]== |
==[[Haskell]]== |
||
[[Category:Haskell]] |
|||
'''Interpreter:''' [[GHC | GHCi]] 6.6, [[Hugs]] |
'''Interpreter:''' [[GHC | GHCi]] 6.6, [[Hugs]] |
||
Line 124: | Line 137: | ||
==[[Java]]== |
==[[Java]]== |
||
[[Category:Java]] |
|||
'''Compiler:''' any Java compiler should do |
'''Compiler:''' any Java compiler should do |
||
Line 131: | Line 145: | ||
==[[JavaScript]]== |
==[[JavaScript]]== |
||
[[Category:JavaScript]] |
|||
var s = "Hello, world!"; |
var s = "Hello, world!"; |
||
Line 136: | Line 151: | ||
==[[JudoScript]]== |
==[[JudoScript]]== |
||
[[Category:JudoScript]] |
|||
//Store length of hello world in length and print it |
//Store length of hello world in length and print it |
||
Line 141: | Line 157: | ||
==[[Lua]]== |
==[[Lua]]== |
||
[[Category:Lua]] |
|||
'''Interpreter:''' [[Lua]] 5.0 or later. |
'''Interpreter:''' [[Lua]] 5.0 or later. |
||
Line 148: | Line 165: | ||
==[[mIRC]]== |
==[[mIRC]]== |
||
[[Category:mIRC]] |
|||
'''Compiler:''' [[mIRC]] |
'''Compiler:''' [[mIRC]] |
||
Line 154: | Line 172: | ||
==[[Perl]]== |
==[[Perl]]== |
||
[[Category:Perl]] |
|||
'''Interpreter:''' [[Perl]] any 5.X |
'''Interpreter:''' [[Perl]] any 5.X |
||
Line 160: | Line 179: | ||
==[[PHP]]== |
==[[PHP]]== |
||
[[Category:PHP]] |
|||
$length = strlen('Hello, world!'); |
$length = strlen('Hello, world!'); |
||
==[[Python]]== |
==[[Python]]== |
||
[[Category:Python]] |
|||
'''Interpreter:''' [[Python]] 2.4 |
'''Interpreter:''' [[Python]] 2.4 |
||
Line 170: | Line 191: | ||
==[[Ruby]]== |
==[[Ruby]]== |
||
[[Category:Ruby]] |
|||
string="Hello world" |
string="Hello world" |
||
print string.length |
print string.length |
||
==[[Standard ML |
==[[Standard ML]]== |
||
[[Category:Standard ML]] |
|||
'''Interpreter:''' [[Standard ML of New Jersey | SML/NJ]] 110.60, [[Moscow ML]] 2.01 (January 2004) |
'''Interpreter:''' [[Standard ML of New Jersey | SML/NJ]] 110.60, [[Moscow ML]] 2.01 (January 2004) |
||
Line 182: | Line 206: | ||
==[[TCL]]== |
==[[TCL]]== |
||
[[Category:TCL]] |
|||
'''Interpreter''' any 8.X. Tested on 8.4.12. |
'''Interpreter''' any 8.X. Tested on 8.4.12. |
||
Line 191: | Line 217: | ||
==[[UNIX Shell]]== |
==[[UNIX Shell]]== |
||
[[Category:UNIX Shell]] |
|||
With external utilities: |
With external utilities: |
||
Line 211: | Line 238: | ||
==[[xTalk]]== |
==[[xTalk]]== |
||
[[Category:xTalk]] |
|||
'''Interpreter:''' HyperCard |
'''Interpreter:''' HyperCard |
Revision as of 02:34, 24 January 2007
![Task](http://static.miraheze.org/rosettacodewiki/thumb/b/ba/Rcode-button-task-crushed.png/64px-Rcode-button-task-crushed.png)
You are encouraged to solve this task according to the task description, using any language you may know.
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
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!"; int length = 0; p = 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++
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#
Platform: .NET Language Version: 1.0+
string s = "Hello, world!"; int length = s.Length;
ColdFusion
#len("Hello World")#
Common Lisp
(length "Hello World")
Component Pascal
LEN("Hello, World!")
Forth
Interpreter: ANS Forth
CREATE s ," Hello world" \ create string "s" s C@ ( -- length )
Haskell
Compiler: GHC 6.6
val strlen = length "Hello, world!"
Java
Compiler: any Java compiler should do
String s = "Hello, world!"; int length = s.length();
JavaScript
var s = "Hello, world!"; int len = 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
Interpreter: 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"