C++ не записывается строка в файл

C++ не записывается строка в файл
Написал программу - прототип блокнота. Вот её код:
#include
#include
#include
#include
#include

using namespace std;

int main(int argc, char* argv[])
{
setlocale(0,"Russian");
ofstream fout;
char string[500];
char name[1000];
cout < < "Введите полное имя файла:" << endl;
gets(name);
if (strcmp(name, "exit" ) == 0)
{
exit(0);
}
fout.open(name);
if ( fout.is_open() == 1 )
{
cout < < "Файл успешно открыт\создан" << endl;
while ( 1 )
{
gets(string);
if (strcmp(string, "exit" ) == 0)
{
exit(0);
}
fout < < string;
fout < < "n";
}
fout.close();
}
else
{
cout < < "Не удалось открыть\создать файл!!!" << endl;
}
getch();
return 0;
}
Но после завершения программы, даже если я что-то вводил,( а программа должна была это записать в файл) файл остаётся пустым. В чём может быть дело?

  • У меня все работает. И ваш вариант программы, и такой:

    #include
    #include
    #include

    using namespace std;

    int main() {
    string s, n;
    cout < < "Введите полное имя файла: ";
    getline(cin, n);
    ofstream fout(n.c_str());
    if (fout) {
    cout < < "Файл успешно открыт\создан" << endl;
    while (getline(cin, s)) fout < < s << endl;
    } else {
    cout < < "Не удалось открыть\создать файл!!!" << endl;
    }
    return 0;
    }