std :: ofstream - установка поиска в неправильную позицию - PullRequest
0 голосов
/ 04 июля 2018

Я прочитал информацию из ссылки на cpp, но не смог найти ответ на свой вопрос. Я хочу знать, что гарантированно произойдет, если у меня будет пустой файл и я попытаюсь написать что-то на несуществующей позиции, например:

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

Я задаю вопрос из-за обработки исключений.

1 Ответ

0 голосов
/ 04 июля 2018

Я только что отладил:

  #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

...