String Character Length: Difference between revisions
Content deleted Content added
m →[[C]]: Fixed double addition. |
m Stupid case-sensitivity. |
||
(140 intermediate revisions by 51 users not shown) | |||
Line 1: | Line 1: | ||
#REDIRECT [[String length]] |
|||
{{task}} |
|||
In this task, the goal is to find the length of a string. |
|||
==[[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 |
|||
int main(int argc, char ** argv) { |
|||
const char *string = "Hello, world!"; |
|||
int length; |
|||
for(length=0; string[length]!='\0'; length++); // for each letter that is not a '\0' adds |
|||
// one to length's value. |
|||
// '\0' is the string terminator character. |
|||
return 0; |
|||
}; |
|||
or (terse version of the above) |
|||
int main() |
|||
{ |
|||
char const *s = "Hello, world!", *p = s; |
|||
int length = 0; |
|||
while (*p++) |
|||
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(); |
|||
} |
|||
==[[Java]]== |
|||
'''Compiler:''' any Java compiler should do |
|||
String s = "Hello, world!"; |
|||
int length = s.length(); |
|||
==[[C_Sharp|C#]]== |
|||
'''Platform:''' [[.NET]] |
|||
'''Language Version:''' 1.0+ |
|||
string s = "Hello, world!"; |
|||
int length = s.Length; |
|||
==[[mIRC]]== |
|||
'''Compiler:''' [[mIRC]] |
|||
alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! } |
|||
==[[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!"); |
|||
==[[Python]]== |
|||
'''Interpreter:''' [[Python]] 2.4 |
|||
length = len("The length of this string will be determined") |
|||
==[[Perl]]== |
|||
'''Interpreter:''' [[Perl]] any 5.X |
|||
my $length = length "Hello, world!"; |
|||
==[[PHP]]== |
|||
$length = strlen('Hello, world!'); |
|||
==[[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 |
|||
==[[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 |
|||
==[[Ruby]]== |
|||
string="Hello world" |
|||
print string.length |
|||
==[[xTalk]]== |
|||
'''Interpreter:''' HyperCard |
|||
put the length of "Hello World" |
|||
or |
|||
put the number of characters in "Hello World" |
|||
==[[Ada]]== |
|||
'''Compiler:''' GCC 4.1.2 |
|||
Str : String := "Hello World"; |
|||
Length : constant Natural := Str'Length; |
|||
==[[Common Lisp]]== |
|||
(length "Hello World") |
Latest revision as of 19:31, 19 January 2008
Redirect to: