C言語 標準関数 | 応用 | サンプル

標準関数
構文
応用

管理人

プライバシーポリシー


書式

#include <string.h>

size_t strlen( const char *str );

■戻り値:文字列strの長さを返す。

説明

文字列strからNULL(\0)の直前までの文字数を求める。(NULLは文字数には含めない)

strの中にNULLが存在しない場合、以降の領域を侵してでもNULLを探すので注意を要する。

size_t型はunsigned int型と同じである。

サンプル

#include <string.h>

main() {
  /* 文字列内に\0でNULLを入れる場合の注意事項:
     \0の後ろに0-7の文字を記述すると8進数(3桁)と
     みなされるので\000としなくてはならない。
     尚、"1234\08"であればOKであるが、
     特に0-9の文字ならば混乱を避けるために
     "1234\0008"と表記した方が良い。
  */

  char str[] = "1234\0005";/* str[6]と同じ */
  unsigned int len;

  printf( "str[0]=0x%02x\n" , str[0] );/* 0x31 */
  printf( "str[1]=0x%02x\n" , str[1] );/* 0x32 */
  printf( "str[2]=0x%02x\n" , str[2] );/* 0x33 */
  printf( "str[3]=0x%02x\n" , str[3] );/* 0x34 */
  printf( "str[4]=0x%02x\n" , str[4] );/* 0x00 */
  printf( "str[5]=0x%02x\n" , str[5] );/* 0x35 */

  len = strlen( str );
  printf( "len=%d\n" , len );/* 4 */
}

実行結果

str[0]=0x31
str[1]=0x32
str[2]=0x33
str[3]=0x34
str[4]=0x00
str[5]=0x35
len=4


Copyright © 2008-2015 http://hitorilife.com All Rights Reserved.