草庐IT

StringStream

全部标签

c++ - istringstream、ostringstream 和 stringstream 有什么区别?/为什么不在每种情况下都使用 stringstream?

我什么时候使用std::istringstream、std::ostringstream和std::stringstream以及为什么我不应该只使用std::stringstream在每个场景中(是否存在任何运行时性能问题?)。最后,这有什么不好的(而不是使用流):std::stringstHehe("Hello");stHehe+="stackoverflow.com";stHehe+="!"; 最佳答案 就我个人而言,我很少会想要在同一个字符串流中执行流式传输。通常我想从一个字符串初始化一个流然后解析它;或将内容流式传输到字符串

c++ - istringstream、ostringstream 和 stringstream 有什么区别?/为什么不在每种情况下都使用 stringstream?

我什么时候使用std::istringstream、std::ostringstream和std::stringstream以及为什么我不应该只使用std::stringstream在每个场景中(是否存在任何运行时性能问题?)。最后,这有什么不好的(而不是使用流):std::stringstHehe("Hello");stHehe+="stackoverflow.com";stHehe+="!"; 最佳答案 就我个人而言,我很少会想要在同一个字符串流中执行流式传输。通常我想从一个字符串初始化一个流然后解析它;或将内容流式传输到字符串

c++ - 如何在 C++ 中将字符串解析为 int?

将字符串(以char*形式给出)解析为int的C++方法是什么?强大而清晰的错误处理是一个优点(而不是returningzero)。 最佳答案 什么不能做这是我的第一条建议:不要为此使用字符串流。虽然一开始使用起来可能看起来很简单,但您会发现如果您想要健壮性和良好的错误处理能力,就必须做很多额外的工作。这是一种直觉上看起来应该可行的方法:boolstr2int(int&i,charconst*s){std::stringstreamss(s);ss>>i;if(ss.fail()){//notanintegerreturnfalse

c++ - 如何在 C++ 中将字符串解析为 int?

将字符串(以char*形式给出)解析为int的C++方法是什么?强大而清晰的错误处理是一个优点(而不是returningzero)。 最佳答案 什么不能做这是我的第一条建议:不要为此使用字符串流。虽然一开始使用起来可能看起来很简单,但您会发现如果您想要健壮性和良好的错误处理能力,就必须做很多额外的工作。这是一种直觉上看起来应该可行的方法:boolstr2int(int&i,charconst*s){std::stringstreamss(s);ss>>i;if(ss.fail()){//notanintegerreturnfalse

c++ - 相当于 %02d 与 std::stringstream?

我想以printf的%02d的等效格式将整数输出到std::stringstream。有没有比以下更简单的方法来实现这一点:std::stringstreamstream;stream.setfill('0');stream.setw(2);stream是否可以将某种格式标志流式传输到stringstream,例如(伪代码):stream 最佳答案 您可以使用中的标准操纵器但是没有一个可以同时做到的整洁的fill和width一次:stream编写自己的对象在插入流中时执行这两个功能并不难:stream例如structmyfillan

c++ - 相当于 %02d 与 std::stringstream?

我想以printf的%02d的等效格式将整数输出到std::stringstream。有没有比以下更简单的方法来实现这一点:std::stringstreamstream;stream.setfill('0');stream.setw(2);stream是否可以将某种格式标志流式传输到stringstream,例如(伪代码):stream 最佳答案 您可以使用中的标准操纵器但是没有一个可以同时做到的整洁的fill和width一次:stream编写自己的对象在插入流中时执行这两个功能并不难:stream例如structmyfillan

c++ - 如何清除字符串流变量?

我已经尝试了几件事,std::stringstreamm;m.empty();m.clear();这两个都不行。 最佳答案 对于所有标准库类型,成员函数empty()是一个查询,而不是一个命令,即它的意思是“你是空的吗?”而不是“请扔掉你的东西”。clear()成员函数继承自ios,用于清除流的错误状态,例如如果文件流的错误状态设置为eofbit(文件结束),则调用clear()会将错误状态设置回goodbit(没有错误)。为了清除stringstream的内容,使用:m.str("");是正确的,虽然使用:m.str(std::s

c++ - 如何清除字符串流变量?

我已经尝试了几件事,std::stringstreamm;m.empty();m.clear();这两个都不行。 最佳答案 对于所有标准库类型,成员函数empty()是一个查询,而不是一个命令,即它的意思是“你是空的吗?”而不是“请扔掉你的东西”。clear()成员函数继承自ios,用于清除流的错误状态,例如如果文件流的错误状态设置为eofbit(文件结束),则调用clear()会将错误状态设置回goodbit(没有错误)。为了清除stringstream的内容,使用:m.str("");是正确的,虽然使用:m.str(std::s