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

アールメカブ


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


Programming ここより引用.

#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));