Запись в текстовом файле 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);