String Character Length: Difference between revisions

From Rosetta Code
Content deleted Content added
→‎[[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#]]==
==[[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 | SML]]==
==[[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
String Character Length
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

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!";
   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

Interpreter: GHCi 6.6, Hugs

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"