Jump to content
  • Advertisement


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


reading strings from std::istrstream to char* variables (memory allocation question)

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

Hey. Let''s say I have a std::istrstream object:
#include <strstream>

void Test(const char* s)
  std::istrstream stream(s);
  char *string1, string2;
  int stringlength1;
  int stringlength2;

  //then I want to "copy" the two first strings in the stream to the string1 and string2 variables. Well, that''s pretty straight forward, BUT is there possible to find the size of the next string in the stream, so I can allocate the correct amount of memory for the string1 and string2 variables?
  //so the question is simply: How do I find stringlength1 and stringlength2 (if it is possible)?

  string1 = new char[stringlength1];
  string2 = new char[stringlength2];
  stream >> string1 >> string2;
I hope anyone can help. Thanks in advance "The mistakes are all waiting to be made.

Share this post

Link to post
Share on other sites
Hi ziggwarth

strstreams are deprecated, you shouldnt use them. Use stringstreams instead, with std::string, it would solve both of your problems


int main(int argc, char *argv[])
std::string string1 = "hello world again";
std::string string2, string3;
std::istringstream istr(string1);
istr >> string1 >> string2 >> string3;

[edited by - Jingo on February 6, 2004 5:55:40 AM]

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!