Cで文字列を空にする のバックアップの現在との差分(No.1) - アールメカブ

アールメカブ


Cで文字列を空にする のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[Programming]]


[[ここ:http://ja.wikipedia.org/wiki/Memset]]より引用.

 #include<string.h>
 void *memset(void *s, int c, size_t n);
 
sは、unsigned char *型にキャストされ、cは、unsigned char型にキャストされる。

利用例

文字列を空にする際、以下の様に実装するのは誤りである。
 
 #include<stdio.h>
 #include<string.h>
 
 ...
 char *s;
 ...    /* 適当にsを使う */
  
 strcpy(s, NULL); /* 誤り */
 

文字列を空にする際は、memsetを用いて以下の様に実装するのが正しい。

 #include<stdio.h>
 #include<string.h>
 
 char *s;
 ...    /* 適当にsを使う */
 
 memset(s, 0, strlen(s));