Jump to content
  • Advertisement

Archived

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

peter86

Return char-array

This topic is 5724 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

Advertisement
if you actually DO want to return a char array it would be:
char* daFunctionName(void) 

but then you must dynamically allocate the char array in your function, and make sure that it is delete[] d from wherever the function was called (or you will get memory leaks).

i prefer to pass the char array into the function as a parameter, mess with it in there, and return true if it is successful. that way the array is allocated BEFORE the function is called, and this makes it more obvious (and trherefore easier to remember) to delete[] the array afterwards.

Share this post


Link to post
Share on other sites
probably the safest and most common way would be to make it an output parameter.
assuming c/c++:

void
test_func()
{
char fill_me_in[128];
func(fill_me_in);
}

char *
func(char *fill_me_in)
{
memset(fill_me_in, 0, 128);
}

alternatively, you can allocate memory inside the function, but the responsibility to free it falls on the caller:

void
test_func()
{
char *ret_val = func();
}

char *
func()
{
char *stuff = malloc(128);
memset(stuff, 0, 128);
return stuff;
}





[edited by - dedrick on October 18, 2002 4:45:07 PM]

[edited by - dedrick on October 18, 2002 4:45:29 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by krez
i prefer to pass the char array into the function as a parameter, mess with it in there, and return true if it is successful. that way the array is allocated BEFORE the function is called, and this makes it more obvious (and trherefore easier to remember) to delete[] the array afterwards.


I''m glad I''m not the only one to do it that way. I was afraid I was doing it that way for no good reason.

Share this post


Link to post
Share on other sites
this is a pointer to the object that a member function was called from. this has no meaning outside of that context.

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.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!