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

標準関数
構文
応用

管理人

プライバシーポリシー


書式

#include <string.h>

void * memset( void *str , int chr , size_t len );

■戻り値:strの先頭アドレスを返す。

説明

strの先頭から文字chrをlen文字数分、コピーしてstrの先頭アドレスを返す。一般的に、strをchrで埋める場合に使用する。
コピー後、末尾にNULLを自動で設定しない。

サンプル

#include <string.h>

main() {
  char str[] = "ABCDE";
  char * adr;

  printf( "str=%s\n" , str );/* ABCEF */
  memset(( void * )str , ( int )'\0'
                             , sizeof( str ));
  /* strでprintfする */
  printf( "str[0]=%c\n" , str[0] );/* NULL */
  printf( "str[1]=%c\n" , str[1] );/* NULL */
  printf( "str[2]=%c\n" , str[2] );/* NULL */
  printf( "str[3]=%c\n" , str[3] );/* NULL */
  printf( "str[4]=%c\n\n" , str[4] );/* NULL */

  adr = ( char * )memset(( void * )str , ( int )'a'
                                       , sizeof( str ));
  /* strでprintfする */
  printf( "str[0]=%c\n" , str[0] );/* a */
  printf( "str[1]=%c\n" , str[1] );/* a */
  printf( "str[2]=%c\n" , str[2] );/* a */
  printf( "str[3]=%c\n" , str[3] );/* a */
  printf( "str[4]=%c\n\n" , str[4] );/* a */
  /* adrでprintfする */
  printf( "adr[0]=%c\n" , adr[0] );/* a */
  printf( "adr[1]=%c\n" , adr[1] );/* a */
  printf( "adr[2]=%c\n" , adr[2] );/* a */
  printf( "adr[3]=%c\n" , adr[3] );/* a */
  printf( "adr[4]=%c\n" , adr[4] );/* a */
}

実行結果

str=ABCDE
str[0]=
str[1]=
str[2]=
str[3]=
str[4]=

str[0]=a
str[1]=a
str[2]=a
str[3]=a
str[4]=a

adr[0]=a
adr[1]=a
adr[2]=a
adr[3]=a
adr[4]=a

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