jjzjj

InputStream

全部标签

c++ - float 据在 istream 输入上意外成功转换为整数

我正在编写一个模板函数,该函数将检查用户是否分配了答案应包含的正确数据类型。例如:intmain(){intE;cout(cin);cout函数clear_and_read定义为:templateTclear_and_read(istream&inputstream){cin.sync();//removesanythingstillincinstreamcin.clear();Tinput;inputstream>>input;while(inputstream.fail()){cout>input;}returninput;}现在,如果我尝试输入string而不是integer,这

c++ - 读取/写入 PPM 图像文件 C++

尝试以我知道的唯一方式读写PPM图像文件(.ppm):std::istream&operator>>(std::istream&inputStream,PPMObject&other){inputStream.seekg(0,ios::end);intsize=inputStream.tellg();inputStream.seekg(0,ios::beg);other.m_Ptr=newchar[size];while(inputStream>>other.m_Ptr>>other.width>>other.height>>other.maxColVal){other.magicNu

C++ 输入运算符重载

我试图在我创建的UserLogin类上重载输入运算符。不会引发编译时错误,但也不会设置值。一切都在运行,但ul的内容仍然存在:字符串id是sally登录时间为00:00退出时间为00:00入口点#include#include"UserLogin.h"usingnamespacestd;intmain(){UserLoginul;cout>ul;//sally23:5600:02cout用户登录.h#include#include#include"Time.h"usingnamespacestd;classUserLogin{//OperatorOverloadersfriendost

c++ - 在 C++ 中,如何获取一个程序的输出并将其用作另一个程序的输入?

我有一个程序将实验计数作为命令字符串参数并输出float序列。例子:im_7.exe1010.4113.338.80614.9515.5513.8810月13日12.229.0910.45所以,我需要在我的程序中调用这个程序并分析这个数字序列。 最佳答案 如果您使用的是Windows,那么您需要执行以下操作使用Windows的CreatePipeapi创建一个Pipe1。使用此管道从子进程的STDOUT读取数据。以相同的方式创建一个Pipe2,并使用该管道将数据写入子进程的STDIN。创建子进程并在启动信息中提供这些句柄并从父进程继

c++ - 如何抛出 std::invalid_argument 错误?

我在C++的Fraction类中有一个重载运算符,它旨在从标准输入中获取整数形式的输入,即1/2或32/4并根据这些值初始化一个Fraction对象。它有效,但我无法捕获错误。//getsinputfromstandardinputintheformof(hopefully)int/intstd::istream&operator>>(std::istream&inputStream,Fraction&frac){intinputNumerator,inputDenominator;charslash;if((std::cin>>inputNumerator>>slash>>input

c++ - 如何清除String流中的内容?

这个问题在这里已经有了答案:Howdoyouclearastringstreamvariable?(9个回答)关闭9年前。谁能告诉我如何清除字符串流的内容..?我尝试了以下但没有用。stringstreamss;ss我需要的输出只是“hi”..请告诉我

c++ - 如何将 'fixed' floatfield 用于 istream/istringstream?

C++有一个名为“fixed”的I/O操纵器,用于以固定(非科学)形式输入/输出float。它适用于输出,但我不明白如何让输入正常工作。考虑这个例子:#include#includeusingnamespacestd;intmain(){doublevalue;istringstream("1.4e1")>>fixed>>value;cout在我看来,它应该是这样工作的。输入流有一些字符串。当我们在其上应用fixed操纵器并尝试读取double/float时,它应该在第一个不是数字或点的字符处停止(第二次/第三次/更多次不接受点).因此,正确的输出将是1.4(当我们遇到'e'时我们停止

c++ - istream (ostream) 与 bool

这是一个读取尽可能多的单词的C++代码尽可能从给定的文本文件开始,直到遇到EOF。stringtext;fstreaminputStream;inputStream.open("filename.txt");while(inputStream>>text)cout我的问题是:将while循环的条件(即inputStream>>text)转换为bool值(即true或false)到底执行了什么过程?我自己对这个问题的回答是:据我了解,inputStream>>text应该返回另一个(文件)输入流。当EOF到达时,流似乎为NULL。NULL可以定义为0,相当于false。我的回答有道理吗?

一个字节如何通过java的InputStream中的读取函数读取并返回并返回?

read()函数一次读取一个字节,此函数的返回类型为int。我想知道引擎盖下会发生什么,以便将字节返回为int。我对位运算符不了解,所以任何人都可以以我容易掌握的方式回答。看答案在引擎盖下,如果到达流的末端,请read()返回-1。否则,它将字节值作为int返回(因此值在0到255之间)。验证结果不是-1之后,您可以使用签名的字节值使用byteb=(byte)intValue;这只会保留INT的8个最右边位,右侧的8位用作符号位,从而导致签名值在-128和127之间。如果该方法返回了一个字节,则除了抛出例外外,别无他法,以表示已经到达了流的末端。

ios - 在 Swift 3 中使用 Stream 打开与 SMTP 服务器的套接字连接

我需要连接到SMTP服务器,但无法打开连接。握手失败(缺少身份验证)是我到达这里最远的地方。我打开了到普通服务器的套接字,但未能在此处这样做以发送电子邮件。privatefuncconnect()throws{varinput:InputStream?=nilvaroutput:OutputStream?=nilStream.getStreamsToHost(withName:server,port:port,inputStream:&input,outputStream:&output)guardletinputSafe=input,letoutputSafe=outputelse{