простой вопрос открытия файла с ++ - PullRequest
1 голос
/ 10 апреля 2010
#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
  ofstream testfile;
  testfile.open ("test.txt");
  testfile << "success!\n";
  testfile.close();
  return 0;
}

1) называется "g ++ testfile.cpp"
2) создал "test.txt"
3) называется "chmod u + x a.out"
4) ???
5) файл остается пустым.

Я чувствую себя идиотом из-за неудачи в чем-то тривиальном, как это должно быть.

Ответы [ 2 ]

5 голосов
/ 10 апреля 2010

При выполнении файлового ввода-вывода вам почти всегда нужно проверять наличие ошибок:

#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
  ofstream testfile;
  testfile.open ("test.txt");
  if ( ! testfile.is_open() ) {
     cerr << "file open failed\n";
     return 1;
  }

  if ( ! testfile << "success!\n" ) {
     cerr << "write failed\b";
     return 1;
  }

  testfile.close();   // failure unlikely!
  return 0;
}
0 голосов
/ 10 апреля 2010

Теоретически они эквивалентны, но просто чтобы убедиться, попробуйте << endl вместо "\n" для очистки потока.

ofstream testfile;
testfile.open ("test.txt");
testfile << "success!" << endl;
testfile.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...