草庐IT

ostream_joiner

全部标签

c++ - 通过 stdin 和 ostream 向程序发送数据。 (C++)

我想将数据从我的C++程序发送到外部管道,如下所示:FILE*file=popen("my_prog-opt|other_prog","w");std::ostreamfileStream=some_function(file);fileStream我知道没有简单的、跨平台的方法来完成第二行,但是有没有什么方法可以使用popen以外的东西来完成同样的事情?我不需要使用popen,但我确实需要使用ostream。它至少需要使用clang和gcc进行编译,但最好能与任何编译器一起使用。我还可以更改处理管道的方式,但我没有my_prog或other_prog的源代码。

c++ - 使用 ostream 作为引用 (C++)

我有一个家庭作业,头文件是提供给我们的,并且是不可更改的。我无法弄清楚如何正确使用“显示”功能,所以这里是相关代码。头文件:#ifndefSET_#defineSET_typedefintEType;usingnamespacestd;#includeclassSet{private:structNode{ETypeItem;//UserdataitemNode*Succ;//Linktothenode'ssuccessor};unsignedNum;//NumberofuserdataitemsinthesetNode*Head;//Linktotheheadofthechainpu

c++ - 如何移动 std::ostream?

由于设计使然std::ostreamcan'tbemoved问题变成了:如何移动std::ostream以便它可以写入不同的目的地?基本目标是让一个工厂函数接受一个URI并返回一些东西,我们称它为omstream(输出可移动流),它可以像std::ostream:omstreamstream_factory(std::stringconst&uri);voidprocess(std::ostream&out);intmain(intac,char*av[]){omstreamdestination{stream_factory(ac==2?av[1]:"example.txt")};p

c++ - 错误 : ‘ostream’ does not name a type

我正在重载C++中的>运算符,但它无法编译。错误信息是:“error:‘ostream’doesnotnameatype”为什么会出现此错误?如何解决?#ifndefCOMPLEX_H#defineCOMPLEX_H#include//exit#include#includeclassComplex{public:Complex(void);Complex(doublea,doubleb);Complex(doublea);doublereal()const{returna;}doubleimag()const{returnb;}friendostream&operator>(istr

ios - 结合 Grapheme Joiner 在 Cocoa、iOS 中不起作用?

这个字符串:[NSStringstringWithFormat:@"%C%C%C%C",0x31,0x34f,0x32,0x20dd]应该显示为12,两个字符周围都有一个圆圈。0x34f是组合字素连接符,0x20dd是组合圆。显示的是12,只有2周围有圆圈。似乎忽略了连接符。有什么方法可以让组合字素连接器工作吗? 最佳答案 不推荐使用CombiningGraphemeJoiner:来自Unicode标准,第16.2章布局控件-组合字素连接器Rendering.Forrendering,thecombininggraphemejoin

c++ - 命名空间 ‘std’ 中的“ostream”未命名类型

正如标题所示,我遇到了一个相当奇怪的问题。当我尝试编译示例源代码(使用libotb)时,我不断收到标题中的错误。奇怪的是#include存在于报告错误的所述源/header中。另一方面,如果我从上述文件中提取代码并创建一个单独的源代码并使用g++编译它它有效,但如果我用g++-I编译我得到了同样的错误,尽管源文件不包含来自所述路径的任何内容。如以下评论所述,这个问题发生在#includeintmain{std::cerr 最佳答案 #include应该修复它。在C++11下,#include应该拉入所有,但在C++11之前,您必须单

C++ GMP 库 ostream operator<< 编译但不链接?

$apt-cacheshowlibgmp10Package:libgmp10...Version:2:5.0.2+dfsg-2ubuntu2测试.cpp:#include#includeusingnamespacestd;intmain(){mpz_classx=42;cout编译:$g++-ctest.cpp-otest.o$好的链接:$g++test.o-lgmptest.o:Infunction`std::ostream&operator(std::ostream&,__gmp_exprconst&)':test.cpp:(.text._ZlsIA1_12__mpz_struct

c++ - 设置 std::ostream 精度的最小小数位数

有没有办法设置std::ostream将输出的“最小”小数位数?例如,假设我有两个要打印的未知双变量(此处添加的值是为了便于说明):doublea=0;doubleb=0.123456789;我可以设置我的最大小数精度,以便我输出b准确std::cout>>0.123456789有没有办法设置“最小”精度(最小小数位数),同时保留“最大”精度,这样std::cout产量0.00.123456789不是00.123456789?谢谢!菲尔对此的简短回答是“否”。流只有一种精度设置,无法区分最大和最小精度。感谢大家的慷慨建议! 最佳答案

c++ - 为什么 Clang std::ostream 会写入 std::istream 无法读取的 double 值?

我正在使用一个应用程序,它使用std::stringstream从文本文件中读取空格分隔的double矩阵。该应用程序使用的代码有点像:std::ifstreamfile{"data.dat"};constautoheader=read_header(file);constautonum_columns=header.size();std::stringline;while(std::getline(file,line)){std::istringstreamss{line};doubleval;std::size_ttokens{0};while(ss>>val){//dostuff

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