草庐IT

basic_stringstream

全部标签

string - Visual Basic 6 中的字符串空间不足

我们在通过TCP套接字来回发送数据的VB6应用程序中遇到错误。我们得到一个运行时错误“字符串空间不足”。有没有人看到这个或有任何想法为什么会发生这种情况?似乎我们正在达到一些VB6阈值,因此任何其他想法也会有所帮助。 最佳答案 正如其他人指出的那样,VB中的每个字符串连接都会分配一个新字符串,然后将数据复制过来,然后尽可能取消分配原始字符串。在循环中,这可能会导致问题。要解决这个问题,您可以创建一个像这样的简单StringBuilder类:OptionExplicitPrivatedataAsStringPrivateallocLe

c++ - 如何在不复制或查找的情况下获得 const stringstream 缓冲区的长度?

我有一个conststd::stringstream并希望找出其底层字符串缓冲区中有多少字节。我不能seekg到最后,tellg然后seekg重新开始,因为这些操作都不可用const。我不想得到str().size()因为str()返回一个拷贝,这可能不是一个微不足道的数据量。我有什么好的选择吗?(流本身以const的形式呈现给我,只是因为它是另一种类型的成员,并且我收到了对该类型对象的const引用。流表示一个“文档”,它的封装对象代表一个CGI响应,我正在尝试从Content-Length中生成准确的operatorHTTPheader行。) 最佳答案

c++ - 为什么这个专门用于 basic_ifstream 模板的 char_traits<uint8_t> 和 codecvt<uint8_t> 会抛出 std::bad_cast?

Therearealreadyquestions在Stackoverflow上询问为什么basic_fstream不起作用。答案说char_traits仅专门用于char和wchar_t(加上char16_t,char32_t在C++11中)你应该坚持使用basic_fstream读取二进制数据并根据需要进行转换。该死的,这还不够好!:)没有一个答案(我能找到)说如何特化char_traits并将其与basic_fstream一起使用模板,或者如果它甚至可能的话。所以我想我会尝试自己实现它。在Windows764位上使用VisualStudioExpress2013RC和在Kubunt

c++ - 初始化 stringstream.str( a_value ) 和 stringstream << a_value 之间的区别

考虑:std::strings_a,s_b;std::stringstreamss_1,ss_2;//atthisstage://ss_1andss_2havebeenusedandarenowinsomestrangestate//s_aands_bcontainnon-whitespacewordsss_1.str(std::string());ss_1.clear();ss_1withwithoutspacebetweenthemss_2.str(s_a);ss_2.clear();//ss_2.str().c_str()isnows_ass_2问题:stringstream.s

c++ - 为什么 std::basic_string 的成员在 VS2010 中是公开的?

#include#includeintmain(){std::strings;s._Mysize=7;//Wellcompiled!!!std::cout为什么std::basic_string的非静态成员在VS2010中是公开的?这是错误吗?如果是,VisualStudio的下一个版本(vs2012和vs2013)怎么样?编辑:我只是测试其他容器,而且......有趣的vector和unique_ptr的非静态成员也是公共(public)的。std::vectorv;v._Myfirst=(char*)2;//WellCompiled.std::unique_ptru;u._Mypt

c++ - basic_string::_M_construct null 在构造字符串的子 vector 后无效

我的代码应该读入一个文本文件,并让多个线程通过不同的行block来查找最长的回文。block的大小(多少行)由作为参数传入的可变数量的线程决定。原始文本文件存储在std::vector中,其中vector的每个索引对应于原始文件。当我将子vectorblock传递给findPalindome()时,我得到一个“C++basic_string::_M_constructnullnotvalid”,我不知道为什么。我的字符串都不应该为NULL。当我传递原始vector线时,我没有收到任何错误,所以我假设它与我创建子vector的方式有关。这是我的代码:ResultlongestPalind

c++ - 错误 : cannot bind ‘std::basic_ostream<char>’ lvalue to ‘std::basic_ostream<char>&&’

我已经看过几个关于这个的问题,特别是Overloadingoperator&&’很有帮助。它让我知道我的问题是我正在做一些c++11无法从中推断出类型的事情。我认为我的问题的很大一部分是我正在使用的实例化类是模板化的,但最初是从指向非模板基类的指针中获得的。这是我从另一个关于如何将模板类对象放入STL容器的stackoverflow.com问题中建议的。我的课:classDbValueBase{protected:virtualvoid*null(){returnNULL;}//Neededtomakeclasspolymorphic};templateclassDbValue:pub

c++ - C++ 中的 "string"、 "stream"和 "stringstream"类是什么?

我想知道c++中string和stream有什么区别,stringstream是什么? 最佳答案 istream和ostream:流数据(文件、套接字等)的接口(interface)istringstream:一个istream包装一个字符串并提供它的内容ostringstream:一个ostream,将写入的内容保存为字符串例子:istringstreamdatastream("123");intval;datastream>>val;cout>val;cout>val;cout 关于

c++ - 如何计算 std::basic_string<TCHAR>

我正在尝试找出basic_string.但是cout正在抛出错误。我能知道怎么做吗 最佳答案 正如dauphic所说,std::wcout用于宽字符串,std::cout用于窄字符串。如果您希望能够为任何一种类型的字符串进行编译(TCHAR旨在使这种事情变得更容易),这样的事情有时会让生活变得更轻松:#ifdefined(UNICODE)||defined(_UNICODE)#definetcoutstd::wcout#else#definetcoutstd::cout#endif使用tcout代替。

c++ - stringstream 字符串到 int

下面的C++代码执行int到string和string到int的转换。然后,它再次重复这些步骤。stringstream到int行stream1>>i3;正在破坏代码。我在这里错过了什么?#include#include#includeusingnamespacestd;intmain(){inti1=101;inti2=202;inti3=0;strings1="";strings2="";stringstreamstream1;for(inti=0;i>i3;//lineabovecausess1ands2togetmessedupduring2ndtimeinforloopcou