C++ Regarding ifstream.ignore()
C++ Regarding ifstream.ignore()
我想到了一些问题,并尝试在这里问。
下面是运算符重载
ifstream& operator>>(ifstream &input, Map2D &map2d)
{
int x1,x2,y1,y2;
//get x1 first
input.ignore(2);
input>>x1;
//get y1
input.ignore();
input>>y1;
//get x2
input.ignore(4);
input>>x2;
//get y2
input.ignore();
input>>y2;
input.ignore();
}
这是我的文本文件
Map2D, [5, 7], [3, 8]
我想到的问题是,x2 因为我的分隔符是逗号,为什么 x2 是忽略 (4) 而不是忽略 (2),我尝试忽略(2)并且数字搞砸了。 但忽略(4)是正确的1。
为什么只有空格时是 (4) 和 [
x2 refer to value 3
谢谢!!
您跳过了"],[",这是四个不同的字符。
当您读取 y1 时,您仍然处于流中 y1 的位置。此位置位于右括号"]"的末尾之前,然后您必须读取逗号,空格和下一个括号"["。
相关文章:
- ifstream什么都没读
- C++中的cin.ignore()函数不适用于整个流
- ifstream文件在从行中读取时被清除
- std::ifstream::read 不会读取所有 512 字节,并设置 EOF 和失败位
- 将 ifstream 拆分为 n 个流?
- C++ cin.ignore() 跳过循环
- 如何将 std::ifstream 转换为 std::basic_istream<CharT, Traits>&?
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 尝试打开 ifstream 时出现"Incomplete type"错误
- 是否可以在没有真实文件的情况下创建 ifstream
- 虽然循环不读取整个 ifstream 文件
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- Ofstream和IFSTREAM有什么区别?
- 如何将QByteArray转换为std::istream或std::ifstream?
- ifstream 跳过数字,只写 0
- C++:std::ofstream 方法 open() 在第二次迭代时擦除打开的 ifstream 文件
- 在函数中声明的 ifStream 对象在发布模式下不起作用
- fstream / ifstream / ofstream 对象如何转换为布尔值
- ifstream 尝试读取 9 到 13 之间的无符号字符时非常奇怪的行为
- C++ Regarding ifstream.ignore()