#include <iostream>
#include <fstream>
int main()
{
using namespace std;
/* Open a file and read it*/
ofstream file_obj;
file_obj.open("file1.txt",ios::in| ios::out | ios::app);
if( file_obj.is_open() )
{
printf("\n File opened successfully ");
}
else
{
printf("\n Error occured in opening the file");
}
return 0;
}
Он дает результат
Ошибка при открытии файла.
Но когда я удаляю ios: в своем рабочем состоянии.
Почему эта комбинация невозможна?
Класс ofstream
предназначен только для вывода (записи в файлы) - следовательно, "o". Вместо этого используйте fstream
- это позволяет вводить и выводить.
ios::in
и ios::app
не являются допустимой комбинацией даже для fstream
(в C ++ 98 это разрешено в C ++ 11).
fstream
). Файл может быть открыт для чтения XOR для добавления, но не для обоих. Просто откройтеfstream
(потому чтоofstream
это только выход) дляin
иout
и перейти к концу файла.