istream相关内容

在读取EOF并清除后,STD::CIN不再读取

我正在用while循环读取std::cin中的行,该循环在引入EOF时结束。退出循环后,我调用std::cin.clear()将流恢复正常并再次读取,但它没有进入第二个循环。 我检查了eofbit,它设置为false。failbit也设置为false,并且goodbit设置为true。清除后的gcout为0。以下是我正在运行的代码: while (getline(std::ci ..
发布时间:2022-03-09 14:37:26 C/C++开发

在 istream 上使用 regex_iterator

我希望能够解决这样的问题:获取 std :: ifstream 来处理 LF、CR 和 CRLF? istream 需要用复杂的分隔符标记;这样标记 istream 的唯一方法是: 在istream中一次读取一个字符 收集人物 当分隔符被击中时,将集合作为标记返回 正则表达式非常擅长用复杂的分隔符标记字符串: string foo{ "A\nB\rC\n\r" };向量酒吧;// ..
发布时间:2022-01-10 14:47:57 C/C++开发

c++ - 从C++中的istream对象读取时如何检测空行?

如何检测一行是否为空? 我有: 12345 我正在用 istream r 阅读这篇文章所以: int n;>>n 我想知道什么时候到达 4 和 5 之间的空间.我尝试读取为 char 并使用 .peek() 来检测 \n 但这会检测到数字 1 之后的 \n .上述输入的翻译是: 1\n2\n3\n4\n\n5\n 如果我是对的... 因为我要操作整数,所以我宁愿将它们读为整数而 ..
发布时间:2022-01-07 20:31:42 C/C++开发

吃完 EOF 后重用 std::cin

unix 命令 wc 有这个功能: $ wc - - -aaa bbb ccc0 3 11 -aaa bbb ccc0 3 11 -aaa bbb ccc0 3 11 -0 9 33 共 每个 表示将 EOF 输入标准输入的 键序列.然后 wc 能够获取这个 EOF. 我正在尝试用 C++ 实现它.一个常见的建议是 clear() 和 ignore() 的组 ..
发布时间:2022-01-04 08:45:14 C/C++开发

如何为自定义 istream/streambuf 实现 seekg()?

十年前我曾经是 C++ 专家,但在过去的 10 年里我一直在编写 Java.我刚刚开始了一个使用小型第三方 XML 解析器的 C++ 项目.XML 解析器接受 STL istream.我的 XML 数据来自 Windows COM IStream.我以为我会做正确的事情并创建一个适配器来获取 IStream 数据并通过 istream 将其呈现给 XML 解析器. 我遵循了 http://w ..
发布时间:2021-10-01 19:41:41 C/C++开发

C ++:ifstream :: getline问题

我正在读取一个这样的文件: 字符字符串[256];std :: ifstream file("file.txt");//打开关卡文件.if(!file)//检查文件是否正常加载.{//错误}while(file.getline(string,256,'')){//处理输入} 仅出于测试目的,我的文件只有一行,最后有一个空格: 12345 我的代码首先成功读取了12345.但是,它不是 ..
发布时间:2021-05-07 19:01:49 C/C++开发

我如何读取和解析来自通过接收c ++中的std :: istream对象以逗号分隔的用户的输入?

我在C ++中有一个叫做Airplane的类.我需要使用std :: istream创建一个读取函数,该函数允许用户在控制台提示后键入以逗号分隔的行.然后,使用逗号将输入的这一行分开,并分配给该类的不同私有数据成员.例如,如果用户在控制台中键入"abc,12345,hello",那么我将需要解析该行,并将abc分配给一个变量,将12345分配给另一个变量,并向最后一个变量问好.我相信在用户键入"1 ..
发布时间:2021-04-22 18:36:02 C/C++开发

C ++检测输入是否不满足条件

更新:请通过清晰的答案和用法的小示例指导我 我正在从 binary 文件读取数据,其中第一个数字表示要读取的输入或值的数量,第二个数字表示第一个输入的长度,然后是输入本身,然后第二个输入的长度,然后是输入本身的长度,依此类推. 所以写了以下代码: std :: ifstream infile(文件名,std :: ios_base :: binary);unsigned int N ..
发布时间:2021-04-20 18:50:38 C/C++开发

cin对象如何根据用户需要将字符转换为不同类型?

当 std :: cin 对象是 basic_istream ( istream )的实例时,如何处理不同类型的对象? 解决方案 类 std :: basic_istream 对类型为 CharT .它为该输入流提供了相对较低级别的访问和相对较高级别的访问.例如,您可以调用 std :: cin.get()以便从输入流中检索下一个字符.这将始终返 ..
发布时间:2021-04-19 20:40:22 C/C++开发

在C ++中从格式化输入切换为未格式化输入

我有一个输入文本文件.第一行有两个 int 数字 a 和 b ,第二行是字符串.我想使用格式化的输入来执行 file>>一个>>b ,然后进行未格式化的输入以一一获取字符串的字符.在两个步骤之间,我需要跳过第一行末尾的'\ n'字符.我用过 while(file.get() ..
发布时间:2021-04-19 20:36:59 C/C++开发

失败后的istream读取

我有一小段代码可以读取用户数据,如下所示: #include#include#include#include#include#include使用命名空间std;istream&read_dt(istream& in,vector& nmbr){如果(在){nmbr.clear();i ..
发布时间:2021-04-19 20:34:31 C/C++开发

C ++读取带空格的字符串

我有这样的文件: 59137纽约137362锡拉丘兹216131新泽西...... ,我想将其读取为一个结构:X-Y-城市名称 char city [100];整数x,y;f.open("map.txt");f>>x>>y>>城市;而(!f.fail()){f>>x>>y>>城市;}f.close(); 问题是,该城市只读取下一个空格,因此从纽约开始,它只读取New.我应该如何以一 ..
发布时间:2021-04-19 20:15:27 C/C++开发

从cin或文件中读取

当我尝试编译代码时 istream in;如果(argc == 1)in = cin;别的{ifstream ifn(argv [1]);in = ifn;} gcc失败,抱怨 operator = 是私有的.是否可以根据条件将 istream 设置为不同的值? 解决方案 您可以用另一种替代cin的streambuf,在某些程序中,这比不直接引用cin绕过istream的一般策略更 ..
发布时间:2021-04-19 19:58:07 C/C++开发

非阻塞std :: getline,如果没有输入,则退出

目前,我有一个程序可以从标准输入中读取内容,偶尔如果没有输入,该程序只需保持运行即可,通常这是一个测试脚本,可以说没有“输入". 程序-v1 -v2 -v3输出 v1-v3分别是命令行参数 基本上,如果没有给出“输入",程序将退出命令行参数及其各自的含义,然后退出. 但是,如果现在给它一个空的测试文件,或者只是在std :: getline上运行它后在不按Enter ..
发布时间:2021-04-19 18:51:34 C/C++开发

获取IPv6标头的确切大小,包括扩展标头

如果IPv4存在问题,并且我想从std :: istream中提取IP和ICMP标头,则首先获取初始20个字节,然后按顺序检查IPv4标头中提供的标头长度是否大于20个字节提取任何选项.接下来的字节是ICMP数据包.使用IPv4标头中携带的标头长度值,我可以看到IP标头的预期大小. 但是如何获取IPv6标头的确切大小? IPv6标头中有一个有效负载值,其中包括标头扩展的大小以及更高级别的数据 ..
发布时间:2021-02-09 18:37:51 其他开发

流中的内联忽略

有没有一种方法可以忽略C ++内联中的字符? 例如,在此答案中,我正在阅读: istringstream foo("2000-13-30"); foo >> year; foo.ignore(); foo >> month; foo.ignore(); foo >> day; 但是我希望能够全部内联: foo >> year >> ignore() >> month >> ..
发布时间:2020-11-26 18:34:16 C/C++开发