0

を割り当てて初期化し、char*そのデータをコピーした後

char * uri= new char [strlen(realm) + strlen("sip:") +1]();
strcpy(uri, "sip:"); 
strcat(uri, realm);

char*これをpj_str(char*)関数に渡します。この関数は、 を、バッファーへのポインターとその長さを含む にchar*変換します。pj_str_t struct

次に、関数はそのロジックを継続し、uri pj_str.

関数が戻る前に、割り当てを解除することになっています*uri。このコード行を実行すると、最初の 2 文字に 8 進数のガベージ データが含まれます。それ以外の場合は、期待されるデータが含まれます。

delete [] uri;

何が問題ですか?!

4

1 に答える 1