1.若将某一ifstream类的对象作为函数的参数进行传递时,要用参数引用&

  eg.

  void foo(ifstream ifs) {} // 编译出错

  void foo(ifstream& ifs) {} // 编译成功

 这是因为stream不能被复制

 但函数调用时应该怎么写?

 正常的将对象(如ifs)作为输入参数即可

2.使用ifstream的read函数时怎样看读入的字节数(用于查看是否成功读入某特定大小字节数)

  可以结合tellg函数与streampos类。

  tellg()是C++文件流操作中获得流指针的函数,获得指针位置。

  而streampos类表示指针位置这一类型。

  eg.

    ifstream file;

 

    streamoff i,j,k;

    ifstream fin("E:\\FIO\\20150703\\program\\readfile_raw_all\\0001_20100715_101159_raw.all",ios::binary);

    ……

    ……

    i = file.tellg();

    fin.read((char*)ch,256);

    j = file.tellg();

    k=j - i;

    file >> c;

    k就是读入的字节数

posted on 2015-08-01 15:26  lkwangpy  阅读(747)  评论(0编辑  收藏  举报