草庐IT

Stringstream

全部标签

c++ - 用 str(const char*) 设置 std::stringstream 的内容会产生奇怪的后果

我使用std::stringstream广泛用于生成代码。在使用str()设置内容时,我遇到了一些奇怪的行为。函数,然后使用operator.有人可以向我解释这种行为。非常感谢-谢谢。示例一:std::stringstreamssa;ssa.str("Settingstring");std::cout输出:Settingstringaddingtostring预期:SettingstringSettingstringaddingtostring所以在阅读了一些文档之后,我发现我应该将打开模式设置为ios_base::ate:std::stringstreamssb(std::ios_b

c++ - 请帮我理解streambuf、stringbuf和stringstream之间的区别?

请有人帮助我了解“streambuf、stringbuf和stringstream”之间的区别。voidf1(std::stringconst&text){std::stringstreaminStream(text);cout或者如果我写voidf2(std::stringconst&text){std::stringbufinStream(text);cout两者都显示相同的结果。什么时候应该使用stringbuf或stringstream?提前致谢。 最佳答案 stringbuf被stringstream使用,它为流提供缓冲区

c++ - 请帮我理解streambuf、stringbuf和stringstream之间的区别?

请有人帮助我了解“streambuf、stringbuf和stringstream”之间的区别。voidf1(std::stringconst&text){std::stringstreaminStream(text);cout或者如果我写voidf2(std::stringconst&text){std::stringbufinStream(text);cout两者都显示相同的结果。什么时候应该使用stringbuf或stringstream?提前致谢。 最佳答案 stringbuf被stringstream使用,它为流提供缓冲区

c++ - 将数据从 fstream 复制到没有缓冲区的 stringstream?

我是否可以将数据从fstream(文件)传输到stringstream(内存中的流)?目前,我使用的是缓冲区,但这需要双倍的内存,因为你需要将数据复制到缓冲区,然后将缓冲区复制到字符串流,直到你删除缓冲区,数据才会复制到内存。std::fstreamfWrite(fName,std::ios::binary|std::ios::in|std::ios::out);fWrite.seekg(0,std::ios::end);//SeektotheendintfLen=fWrite.tellg();//GetlengthoffilefWrite.seekg(0,std::ios::beg)

c++ - 将数据从 fstream 复制到没有缓冲区的 stringstream?

我是否可以将数据从fstream(文件)传输到stringstream(内存中的流)?目前,我使用的是缓冲区,但这需要双倍的内存,因为你需要将数据复制到缓冲区,然后将缓冲区复制到字符串流,直到你删除缓冲区,数据才会复制到内存。std::fstreamfWrite(fName,std::ios::binary|std::ios::in|std::ios::out);fWrite.seekg(0,std::ios::end);//SeektotheendintfLen=fWrite.tellg();//GetlengthoffilefWrite.seekg(0,std::ios::beg)

c++ - 从 stringstream 中删除 char 并附加一些数据

在我的代码中,有一个循环将“数字”之类的东西添加到字符串流中。当它结束时,如果要重复循环,我需要提取','添加'}'并添加'{'。我以为我可以使用ignore()删除“,”,但它没有用。你知道我该怎么做吗?示例:douCoh 最佳答案 您可以使用stringstream::seekp查找stringstream并返回1个字符。请注意,它不会删除最后一个字符,而只会移动写入头。在这种情况下这就足够了,因为我们用}覆盖最后一个字符。douCoh 关于c++-从stringstream中删除c

c++ - 从 stringstream 中删除 char 并附加一些数据

在我的代码中,有一个循环将“数字”之类的东西添加到字符串流中。当它结束时,如果要重复循环,我需要提取','添加'}'并添加'{'。我以为我可以使用ignore()删除“,”,但它没有用。你知道我该怎么做吗?示例:douCoh 最佳答案 您可以使用stringstream::seekp查找stringstream并返回1个字符。请注意,它不会删除最后一个字符,而只会移动写入头。在这种情况下这就足够了,因为我们用}覆盖最后一个字符。douCoh 关于c++-从stringstream中删除c

C++:将字符插入字符串

所以我试图将我从一个字符串中得到的字符插入到另一个字符串中。这是我的行动:1.我想用simple:someString.insert(somePosition,myChar);2。我收到一个错误,因为插入需要(在我的情况下)char*或string3.我正在通过stringstream将char转换为char*:stringstreamconversion;char*myCharInsert;conversion>myCharInsert;someString.insert(somePosition,myCharInsert);4。一切似乎都编译成功了,但是程序会导致get崩溃conv

C++:将字符插入字符串

所以我试图将我从一个字符串中得到的字符插入到另一个字符串中。这是我的行动:1.我想用simple:someString.insert(somePosition,myChar);2。我收到一个错误,因为插入需要(在我的情况下)char*或string3.我正在通过stringstream将char转换为char*:stringstreamconversion;char*myCharInsert;conversion>myCharInsert;someString.insert(somePosition,myCharInsert);4。一切似乎都编译成功了,但是程序会导致get崩溃conv

c++ - 如何从 std::vector<string> 构造 std::string?

我想建立一个std::string来自std::vector.我可以使用std::stringsteam,但想象有一种更短的方法:std::stringstring_from_vector(conststd::vector&pieces){std::stringstreamss;for(std::vector::const_iteratoritr=pieces.begin();itr!=pieces.end();++itr){ss我还能怎么做? 最佳答案 C++03std::strings;for(std::vector::cons