文字列の初期化なんだけど、
どっちにしてますか?

char* szA = NULL;
cout << szA << endl; // 落ちる
...
if(szA != NULL){
 delete szA;
 szA = NULL;
}

char* szB = "";
cout << szB << endl // 改行
...
if(strcmp(szB, "")){
 delete szB;
 strcpy(szB, "");
}