第2引数が0の場合、エラーが起きます
例を下に書きます
#include <stdio.h>
#include <string.h>
int main()
{
char *p = 0;
char buf[256];
strcpy( buf, p );
return -256;
}
この場合、確実にエラーになるのですが、どのようなエラーを避ける方法があるのでしょうか?知恵を借りたいです
#include <stdio.h>
#include <string.h>
int main()
{
char *p = 0;
char buf[256];
strcpy( buf, p );
return -256;
}
この場合、確実にエラーになるのですが、どのようなエラーを避ける方法があるのでしょうか?#define strcpy( A, B ) { \
if( A != NULL && B != NULL ) \
strcpy( A, B ); \
}
こうすると第一、第二引数にNULLが来た場合に処理しないようにできます。