Запись в текстовом файле C++

Я просто пытаюсь получить программу для записи "Test" в созданный файл. Однако, когда я запускаю приведенный ниже код, в рабочем каталоге нет файла. Я запускаю этот код на Mac и компилирую с помощью gcc из терминала.

    // writing on a text file
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile ("example-1.txt");
  if (myfile.is_open())
  {
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    if (myfile.fail())
       cout << "Fail" << endl;
    myfile.close();
  }
  else cout << "Unable to open file";
  return 0;
}

2 ответа

Весь код, который я разместил, действителен и работает. Тем не менее, я компилировал через командную строку на Mac OSX, используя gcc. Команда выглядит так:

g++ -g nameofinputfile.cpp -o nameofoutput.out

Это работает нормально, однако, когда вы открываете файл.out (файл компиляции), файл example-1.txt создается в корне файла Users, где существуют документы, рабочий стол, файлы для загрузки и т. Д. Просто нужно просто указать, где это должно быть создано. Обратитесь к этому вопросу, чтобы узнать, как указать каталог в вашем коде.

Вы должны использовать fprintf() для записи текста в текстовых файлах. Например:

fp1=fopen("report.txt","a+");
fprintf(fp1,"Port is open: %d\n\n",i);
fclose(fp1);
Другие вопросы по тегам