#include <iostream>
#include <fstream>
using namespace std;
int main()
{
  std::ifstream fp;
  fp.open(/*filename.c_str()*/"aa.txt", std::ios::in | std::ios::binary);   .seekg(0,FILE_END);   streampos filesize = fp.tellg();
  char* str = new char[10]; if (fp.seekg(10))
{
  streampos size = fp.tellg();
  cout << size<<endl;
} if (fp.seekg((DWORD)filesize +10))
{
  streampos size = fp.tellg(); //能够读取出来数据
  cout << size<<endl;
  if (fp.getline(str, 10))
  {
    cout << "getline" << endl; //失败,没有进入,不能读取
  }
  if (fp.fail())
  {
    cout << "fp.fail()" << endl; //能够进入
  }
  if (fp.bad())
  {
    cout << "bad" << endl; //不进入
  }
}

delete[] str;
return 0;
}

结果:

结论:

在c++ 流文件中,seekg可以越界,需要通过fail()来判断。

不过在越界后,不能成功读取到数据,所以在读取数据前需要判断。

最新文章

  1. Struts2 Action扩展名的三种修改方法
  2. linux 系统下,如何清空文件内容
  3. python网站收集
  4. Orchard官方文档翻译(四) 让Orchard在WebMatrix下工作
  5. Centos环境下部署游戏服务器-常用命令
  6. 通过ModuleImplAdvertisement向自定义服务传递参数
  7. linux ps查看进程命令
  8. C#_C++_SDK_WM_KEYDOWN人物卡顿延迟解决方法
  9. oracle语句总结(一)
  10. 理解Babel是如何编译JS代码的及理解抽象语法树(AST)
  11. 【转】shell字符串截取
  12. 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 20165215
  13. echarts-五分钟的教程
  14. linux常用命令 运算命令
  15. Python简单语音识别并响应
  16. commons-text 生成指定长度的随机字符串
  17. Oracle只读用户角色的建立
  18. tf.nn.dynamic_rnn
  19. Android组件化方案
  20. Scala + Thrift+ Zookeeper+Flume+Kafka配置笔记

热门文章

  1. MySQL-SQL基础-DCL
  2. Android kotlin http url request
  3. Jenkins 使用PowerShell插件部署Net5项目
  4. set类型数据的操作指令
  5. Linux制作Raid
  6. NOIP模拟16:「Star Way To Heaven&#183;God Knows&#183;Loost My Music」
  7. 比培训机构还详细的 Python 学习路线,你信吗 0^0
  8. 即时通讯网-TCPIP族关系图
  9. Servlet处理带尾部斜杠/的URI
  10. 用Java实现红黑树