istream相关内容
我正在用while循环读取std::cin中的行,该循环在引入EOF时结束。退出循环后,我调用std::cin.clear()将流恢复正常并再次读取,但它没有进入第二个循环。 我检查了eofbit,它设置为false。failbit也设置为false,并且goodbit设置为true。清除后的gcout为0。以下是我正在运行的代码: while (getline(std::ci
..
我希望能够解决这样的问题:获取 std :: ifstream 来处理 LF、CR 和 CRLF? istream 需要用复杂的分隔符标记;这样标记 istream 的唯一方法是: 在istream中一次读取一个字符 收集人物 当分隔符被击中时,将集合作为标记返回 正则表达式非常擅长用复杂的分隔符标记字符串: string foo{ "A\nB\rC\n\r" };向量酒吧;//
..
如何检测一行是否为空? 我有: 12345 我正在用 istream r 阅读这篇文章所以: int n;>>n 我想知道什么时候到达 4 和 5 之间的空间.我尝试读取为 char 并使用 .peek() 来检测 \n 但这会检测到数字 1 之后的 \n .上述输入的翻译是: 1\n2\n3\n4\n\n5\n 如果我是对的... 因为我要操作整数,所以我宁愿将它们读为整数而
..
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() 的组
..
我有以下代码提示用户输入他们猫的年龄和名字: #include #include int main(){年龄;std::string 名称;std::cin >>年龄;std::getline(std::cin, 名称);如果(标准::: cin){std::cout
..
十年前我曾经是 C++ 专家,但在过去的 10 年里我一直在编写 Java.我刚刚开始了一个使用小型第三方 XML 解析器的 C++ 项目.XML 解析器接受 STL istream.我的 XML 数据来自 Windows COM IStream.我以为我会做正确的事情并创建一个适配器来获取 IStream 数据并通过 istream 将其呈现给 XML 解析器. 我遵循了 http://w
..
问题如何正确使用 std :: cin.get()和 std :: cin.peek()?让我想知道是否可以保证 std :: char_traits :: to_int_type(c)== static_cast(c) 对于所有有效的 char 值 c . 很多地方都会出现这种情况.例如, istream :: peek 调用 streambuf :: s
..
我正在读取一个这样的文件: 字符字符串[256];std :: ifstream file("file.txt");//打开关卡文件.if(!file)//检查文件是否正常加载.{//错误}while(file.getline(string,256,'')){//处理输入} 仅出于测试目的,我的文件只有一行,最后有一个空格: 12345 我的代码首先成功读取了12345.但是,它不是
..
我正在使用vc ++,VS2015和QT库中的Cryptopp库,使用AES CBC方法解密文件.我可以获得解密后的结果文件,但是有些字符没有正确解密. 我使用的代码是: const std :: string encryption_file("C:\\ TEMP \\ G0030013.xml");const std :: string unlocked_file("C:\\ TEMP
..
我在C ++中有一个叫做Airplane的类.我需要使用std :: istream创建一个读取函数,该函数允许用户在控制台提示后键入以逗号分隔的行.然后,使用逗号将输入的这一行分开,并分配给该类的不同私有数据成员.例如,如果用户在控制台中键入"abc,12345,hello",那么我将需要解析该行,并将abc分配给一个变量,将12345分配给另一个变量,并向最后一个变量问好.我相信在用户键入"1
..
更新:请通过清晰的答案和用法的小示例指导我 我正在从 binary 文件读取数据,其中第一个数字表示要读取的输入或值的数量,第二个数字表示第一个输入的长度,然后是输入本身,然后第二个输入的长度,然后是输入本身的长度,依此类推. 所以写了以下代码: std :: ifstream infile(文件名,std :: ios_base :: binary);unsigned int N
..
当 std :: cin 对象是 basic_istream ( istream )的实例时,如何处理不同类型的对象? 解决方案 类 std :: basic_istream 对类型为 CharT .它为该输入流提供了相对较低级别的访问和相对较高级别的访问.例如,您可以调用 std :: cin.get()以便从输入流中检索下一个字符.这将始终返
..
我有一个输入文本文件.第一行有两个 int 数字 a 和 b ,第二行是字符串.我想使用格式化的输入来执行 file>>一个>>b ,然后进行未格式化的输入以一一获取字符串的字符.在两个步骤之间,我需要跳过第一行末尾的'\ n'字符.我用过 while(file.get()
..
我有一小段代码可以读取用户数据,如下所示: #include#include#include#include#include#include使用命名空间std;istream&read_dt(istream& in,vector& nmbr){如果(在){nmbr.clear();i
..
我有这样的文件: 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.我应该如何以一
..
当我尝试编译代码时 istream in;如果(argc == 1)in = cin;别的{ifstream ifn(argv [1]);in = ifn;} gcc失败,抱怨 operator = 是私有的.是否可以根据条件将 istream 设置为不同的值? 解决方案 您可以用另一种替代cin的streambuf,在某些程序中,这比不直接引用cin绕过istream的一般策略更
..
目前,我有一个程序可以从标准输入中读取内容,偶尔如果没有输入,该程序只需保持运行即可,通常这是一个测试脚本,可以说没有“输入". 程序-v1 -v2 -v3输出 v1-v3分别是命令行参数 基本上,如果没有给出“输入",程序将退出命令行参数及其各自的含义,然后退出. 但是,如果现在给它一个空的测试文件,或者只是在std :: getline上运行它后在不按Enter
..
如果IPv4存在问题,并且我想从std :: istream中提取IP和ICMP标头,则首先获取初始20个字节,然后按顺序检查IPv4标头中提供的标头长度是否大于20个字节提取任何选项.接下来的字节是ICMP数据包.使用IPv4标头中携带的标头长度值,我可以看到IP标头的预期大小. 但是如何获取IPv6标头的确切大小? IPv6标头中有一个有效负载值,其中包括标头扩展的大小以及更高级别的数据
..
在为用户定义的类型创建格式化输出时,通常需要定义自定义格式化标志.例如,如果自定义字符串类可以选择在字符串周围添加引号,那就很好了: String str("example"); std::cout
..
有没有一种方法可以忽略C ++内联中的字符? 例如,在此答案中,我正在阅读: istringstream foo("2000-13-30"); foo >> year; foo.ignore(); foo >> month; foo.ignore(); foo >> day; 但是我希望能够全部内联: foo >> year >> ignore() >> month >>
..