Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.

Mr Cucumber

Weird problem

This topic is 6275 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I wrote this code:
char *str = "AAA";
int length = strlen(str);
LOG("Length of the string %d", length);

char *array = NULL;
array = new char[length];

int length_2 = strlen(array);
LOG("Now the length is %d", length_2); 
The first log produced this result: Length of the string 3 The second log produced this result: Now the length is 7 7? I tried different lengths of the string called str and the second log always produced a result which was four characters longer that the original string. Does anyone what the cause of this could be?

Share this post

Link to post
Share on other sites
strlen works by finding the first NULL character from the beginning of the array to tell you the string length. You just allocated 3 bytes of data, and who knows what''s in that memory.
strlen doesn''t return how much memory is allocated to an array, it returns the number of characters from the start of the array to the first NULL character.

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!