Мой программный ввод не сохранялся в текстовый файл

Привет всем, я написал код ниже, это проект дневника, он все еще находится на ранних стадиях, поэтому, когда вы запускаете его, он должен сказать вам ввести запись в дневник, а затем сохранить ее в тексте, но он не сохраняется в файл помогите!!

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

int main()

{
 ofstream wysla;
wysla.open("wysla.txt, ios::app");
int kaput;
string s1,s2;
cout<<"Please select from the List below"<<endl;
cout<<"1.New entry"<<endl;
cout<<"2.View Previous Entries"<<endl;
cout<<"3.Delete an entry"<<endl;
cin>>kaput;
switch (kaput)
{
case 1:

    cout<<"Dear diary,"<<endl;
    cin>>s1;
    wysla<<s1;
    wysla.close();

    break;
}
return 0;
}

person Wysla    schedule 22.04.2013    source источник


Ответы (2)


мне кажется у вас тут опечатка

wysla.open("wysla.txt", ios::app);
person Daniel A. White    schedule 22.04.2013
comment
в той же программе, когда я ввожу длинную строку, она выбирает только первое слово.. когда я пытаюсь использовать getline, строка не сохраняется в текстовом файле, что мне делать? - person Wysla; 26.04.2013

В дополнение к ответу Дэниела А. Уайта вы, вероятно, столкнетесь с проблемой, что в вашем файле сохранено только одно слово. Это вызвано этой строкой:

cin>>s1;

Вы должны скорее использовать

getline(cin, s1);

здесь.

person CyDek    schedule 22.04.2013
comment
a сделал это, но теперь он даже не сохранил ни одного слова!! какое может быть решение - person Wysla; 26.04.2013
comment
Скорее всего, это связано с тем, что cin››kaput оставляет после себя символ '\n' во входном буфере. Это приведет к тому, что getline(cin, s1) вернет пустую строку (поскольку она читает только до следующего '\n'). См. ссылку на то, как сбросить буфер ввода. - person CyDek; 28.04.2013