std :: ofstream-将seekp设置到错误的位置

时间:2018-07-04 18:38:10

标签: c++ file exception error-handling ofstream

我已经从cpp参考资料中阅读了信息,但是找不到我的问题的答案。我想知道如果我有空文件并尝试在不存在的位置写一些东西,那会发生什么,就像这样:

std::ofstream stream(path);
stream.seekp(1234);
stream.write(whatever, sizeof(whatever));

由于异常处理,我在问我的问题。

1 个答案:

答案 0 :(得分:0)

我刚刚调试了它:

  #include <fstream>      // std::ofstream
  #include <iostream>
  using namespace std;
  int main () {

  std::ofstream outfile;
  outfile.open ("C:\\Users\\Mohammad\\Desktop\\test.txt");
  outfile.seekp(1234);
  if (outfile.is_open())
  {
  outfile.write ("This is an apple",16);
  outfile.write (" sam",4);
  outfile.close();
  cout<<"done";
  }
  if(!outfile)
   {
   cout<<"error!";
   }
   return 0;
   }

,结果在控制台中“完成”,没有任何错误。 即使该文件不存在于路径中也没有任何错误。

编译照片: https://pasteboard.co/HsWql4y.png