第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が来た場合に処理しないようにできます。