获取,修改二进制文件的信息?

时间:2011-11-04 09:44:10

标签: c++ database file-io fstream

我有一个二进制文件,其大小为“x + a + y”字节。我有一些问题;

  • 如果没有详尽的读取x字节,我怎样才能跳转到字节的起点?
  • 如果不将所有信息都放在一行中然后进行必要的修改并最终将新信息写入同一行,我怎样才能更改起始地址显示为P的数据的“字节”?
  • 我可以将指针指向P?
  • 的“a bytes”起点

关于数据如何存储在桩文件中的问题;

  • 为什么存储在桩文件中的所有原始数据类型(如int)都优先是无符号的?
  • 为什么偏移总是被选为unsigned int? eX:x,a,y是已知值

    ___________________________________________________________
    |                             |     |                     |
    |                             |     |                     |
    |----------> x <--------------|> a <|-------> y <---------|
                                  ^
                                  ^
                                  P
    

平台linux

注意:如果我提出问题,请通知我,以便我可以删除这个问题。       当你命令smth时感觉自由

1 个答案:

答案 0 :(得分:1)

ifstream中有一个名为seekg的方法将读取位置移动到文件中的特定位置。请参阅http://en.cppreference.com/w/cpp/io/basic_istream/seekg