String Character Length: Difference between revisions
Content deleted Content added
Added length of wide character strings in C. |
m →[[C]]: Fixed double addition. |
||
Line 52: | Line 52: | ||
return 0; |
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); |
|||
} |
} |
||
Revision as of 20:15, 21 January 2007
String Character Length
You are encouraged to solve this task according to the task description, using any language you may know.
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.
C
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#
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! }
SML
Interpreter: 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")