ostream 相关问题

在C ++中,std :: ostream是输出流的基类。

参数阴影干扰读取文件的功能

我试图在我编写的这个程序中获取我的功能,以从文件中读取数据。我认为参数被隐藏了,但我自己对这个概念还很陌生。很想知道我在做什么

回答 1 投票 0

尝试通过函数从文件中读取和输出数据

我编写了一个能够从文件中读取、输出和计算信息的代码。该文件本身是一个精心设计的 DNA 序列,称为“dnaSequence.txt”。我有点麻烦……

回答 0 投票 0

Pybind11 来自 ostream(Jupyter 笔记本)的 C++ python 标准输出

我在显示 show() 函数和 Jupyter notebook 的输出时遇到问题。 这是工作代码的小例子: #包括 #包括 #我...

回答 0 投票 0

如何在 C++ 函数中将其他变量作为参数与 std::ostream 一起传递?

我正在研究一个看起来像这样的函数: 内联 std::ostream& mvUp(int n,std::ostream& ss){ 字符你[8]; sprintf(u," [%dA",n); ss< 我正在研究一个看起来像这样的功能: inline std::ostream& mvUp(int n,std::ostream& ss){ char u[8]; sprintf(u,"\033[%dA",n); ss<<u; return ss; } 像这样使用它: std::cout<<mvUp(1); 然而它显示错误: std::cout<<mvUp(1); | ^_____too few args in function call ^_______________no operator "<<" match these operands 我也试过:std::cout<<mvUp(1,std::cout);但还是不行。 std::cout<<mvUp(1); ^_______________no operator "<<" match these operands 现在当我尝试制作模板时, template <int n> inline std::ostream& mvUp(std::ostream& ss){ char u[8]; sprintf(u,"\033[%dA",n); ss<<u; return ss; } 并使用它:std::cout<<mvUp<1>,这完全可以正常工作,但问题是模板采用const args. 无法弄清楚我哪里错了。另外,当我不传递任何参数时,它在模板中如何工作? 现代 C++ 代码使用 std::string 和其他类。这使得实现这种过载变得微不足道。 #include <string> #include <sstream> inline std::string mvUp(int n) { std::ostringstream o; o << "\033[" << n << "A"; return o.str(); } 然后,一切都会自动工作: std::cout<<mvUp(1); 您的 mvUp 返回 std::string,现有的 << 过载负责其余部分。 std::ostream& mvUp(std::ostream& ss); std::cout << mvUp<1> 有效的事实 not C++ 函数调用语法的特性。 std::cout 的 operator<< 重载以接受像这样的单参数函数,并通过将其自身作为第一个参数传递来调用它们。 给定 std::ostream& mvUp(int n,std::ostream& ss);,std::cout<<mvUp(1) 不起作用,因为您的函数没有一个参数。并且 std::cout << mvUp(1,std::cout); 不起作用,因为您的函数返回 std::ostream&,无法打印。 通用的解决方案是用重载的class制作一个operator<<。但是,正如另一个答案所暗示的那样,在这里你可以创建一个返回std::string的函数,并打印它的返回值。 您正在尝试创建自定义 ostream 操纵器,类似于 std::setw() 和 <iomanip> 库中的其他操纵器。但是你所写的并不是实现它的正确方法。您的操纵器需要返回一个类型,该类型包含您要用来操纵流的信息,然后您需要重载 operator<< 以流出该类型。这将使您可以访问ostream,然后您可以根据需要进行操作。 尝试更像这样的东西: struct mvUpS { int n; }; mvUpS mvUp(int n) { return mvUpS{n}; } std::ostream& operator<<(std::ostream& ss, const mvUpS &s) { return ss << "\033[" << s.n << "A"; } 现在 std::cout << mvUp(1); 将按预期工作。 演示

回答 3 投票 0

如何让C++ cout不使用科学记数法

双 x = 1500; 对于(int k = 0; k<10 ; k++){ double t = 0; for(int i=0; i<12; i++){ t += x * 0.0675; x += x * 0.0675; } cout<<"Bas ana: "<&l...

回答 9 投票 0

“~&”知道Ostream是不是线头?

CL-用户>(progn (格式 t "abc~%") (格式 t "~&abc")) 美国广播公司 美国广播公司 零 CL-用户> 我的猜测是:ostream 描述符总是存储最新的字符集......

回答 1 投票 0

如何让C++ cout不使用科学记数法

双 x = 1500; 对于(int k = 0; k<10 ; k++){ double t = 0; for(int i=0; i<12; i++){ t += x * 0.0675; x += x * 0.0675; } cout<<"Bas ana: "<&l...

回答 9 投票 0

遍历自定义地图并处理多个流

我是 C++ 的新手,不是 100% 确定如何遍历地图。 对于该项目,我需要一个存储键的映射:[文件/流的名称] 和值:[logger::severity]。在文件名中有

回答 3 投票 0

你没有权限写入文件 "osstream "所在的文件夹。

我在编辑一个C++文件时出现了错误,Xcode放出了一个建议,我点击了修复,每次我试图运行any文件或项目时,我都会弹出这个弹窗。更多的是,我不能 ...

回答 1 投票 0

C++模板:如何使用2个类型名,而只有一个是函数的输入?

对于下面所示的一段简单的代码。#include #include #include #include #include 使用命名空间 std; ...

回答 2 投票 0

错误:'->'的基本操作数是非指针类型'const'。

我正在用 ostream 操作符写一个 c++ 链接列表,但我被卡住了。我做错了什么?/ 火车类 class Car{ public: void print(ostream&) const; 朋友 std::ostream ...。

回答 1 投票 -1

C++: 读取没有扩展名的文件

我有一些文件的类型是 "文件",我的意思是代替 "资源\sample.txt",他们的名字是 "资源\sample "现在我想用c++读取它们,并将它们存储在一个字符串中。以下是我的代码: std:::...。

回答 1 投票 0

用一个变量ostream删除重复的代码

基本上我有void fnc(std::ofstream& file){ std::cout << x; file << x; },其中的x很复杂,我想删除重复的代码。我尝试了一些...

回答 1 投票 0

在使用copy和osstream_iterator为向量写入的CSV文件中删除尾部的逗号。

我有以下函数,它可以将一个向量写入CSV文件。#include #include #include #include #include #include ...

回答 3 投票 2

[类方法的C ++插入运算符

在C ++中,是否可以将插入运算符用于类方法?此operator <] >>>

回答 1 投票 0

使用此指针将对象写入c ++中的二进制文件

void Employee :: store_data(string filename){fstream文件; file.open(文件名,ios :: app | ios :: binary);如果(文件){file.write((char *)&this,sizeof(this)); file.close(); ...

回答 2 投票 0

如何启用好友类的好友功能,直接在C ++中访问其私有成员

我正在写一个稀疏矩阵类,我想通过重载运算符<< [输出稀疏矩阵<< [ [class.friend]/p11: 如果朋友声明出现在本地类([class.local])中,并且指定的名称是不合格名称,则在不考虑最内层非类范围之外的范围的情况下,查找先前的声明。对于朋友函数声明,如果没有事先声明,则程序格式错误。对于朋友类声明,如果没有先前的声明,则指定的类属于最内层的封闭非类范围,在最里面的非类作用域中提供。 您需要提供SMatrix的定义,或者至少在引用它之前将其声明: template <typename U> class SMatrix; 此错误与类SMatrix的前向声明有关。请尝试转发声明 template<typename T> class SMatrix; TriTuple之上。 在godbolt上检查 而且operator<<中也没有检查空矩阵。我建议您将-fsanitize=undefined -fsanitize=address用于gcc。

回答 2 投票 3

为什么打印c样式字符串的'索引n的地址导致子字符串的输出

我对C ++相当陌生,在使用指向char数组(C样式字符串)的指针时,我对它与ostream对象的行为感到困惑。 const char *项目{“ sox”}; cout <

回答 1 投票 0

printf%p格式和basic_ostream格式之间有关系吗?

据我所知,printf中使用的%p编写了一个实现定义的字符序列,该序列定义了一个指针。但是是否总是应该写与basic_ostream&...

回答 1 投票 0

C ++:ostream和ostringstream有什么区别?

ostream和ostringstream有什么区别?什么时候使用一个相对另一个?

回答 4 投票 13

© www.soinside.com 2019 - 2024. All rights reserved.