I tried :
ostringstream oss;
read a string from file and put to oss;
string str;
str << oss.str();// error here "error: no match for ‘operator>>’ in 'oss >> str' "
If I use str = oss.str();
Instead of printing t开发者_如何学Che value of the string, it prints out "....0xbfad75c40xbfad75c40xbf...." likes memory address.
string str = oss.str(); // this should do the trick
If you're trying to copy the whole file to a stringstream, then this:
oss << ifs;
is wrong. All that does is prints the address of ifs. What you want to do is this:
oss << ifs.rdbuf();
And then of course, to copy that to a string, like the others are saying:
str = oss.str();
If you just want to get a single line, then skip the stringstream, and just use getline:
std::getline(ifs,str);
<< is an operator defined on streams, which a string is not.  You just want to use = here.
That doesn't make any sense.  oss.str() returns a std::string.  You can't stream a string into a string.  You either need str = oss.str(), or use a standard stringstream instead, and do ss >> str.
the operator "<<" is usable for ostringstream and you are using it for a string. for string I think you can use append function:
str.append(oss.str());
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论