c++ - Why does string copy fail for already allocated string -



c++ - Why does string copy fail for already allocated string -

possible duplicate: simple modification of c strings using pointers

why fail , give unhandled exception in vs2010 when running function stringcopy_test()? note when uncomment out comment, , comment out sec line in stringcopy_test(), works fine.

void stringcopy_test() { char* str1 = "hello"; char* str2 = "world"; //char* str2 = (char*) malloc(sizeof(char)*(stringlength(str1) + 1)); cout << "copying \"" << str1 << "\": " << stringcopy(str2, str1) << "\n\n"; } char* stringcopy(char* dest, char* src) { if ((*dest = *src) != '\0') stringcopy(dest + 1, src + 1); homecoming dest; }

str2 constant string, can't modify it.

below code work

void stringcopy_test() { char* str1 = "hello"; char str2[ 100 ] ; cout << "copying \"" << str1 << "\": " << stringcopy(str2, str1) << "\n\n"; } char* stringcopy(char* dest, char* src) { if ((*dest = *src) != '\0') stringcopy(dest + 1, src + 1); homecoming dest; }

c++ string memory-management undefined-behavior

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -