2013-04-22 64 views
-1

嗨,每一個我寫的代碼下面它是一個日記項目,它仍處於早期階段,所以當你運行它時,它假設告訴你輸入日記條目然後將其保存在文本中,但它不被保存在文件中,請幫助!我的程序輸入不會保存到一個文本文件

#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; 
} 

回答

3

我覺得你在這裏

wysla.open("wysla.txt", ios::app); 
+0

是啊有一個想通了,以後,謝謝enewei .. – Wysla 2013-04-26 07:21:52

+0

在同一個程序中,當我輸入一個長字符串時,它只能選擇第一個字..當我嘗試使用getline字符串isn,t保存在文本文件中應該什麼我做? – Wysla 2013-04-26 07:24:15

1

一個錯字在addtion丹尼爾A.白色的答案,你可能會遇到的問題,那只有一個字保存在您的文件。 這是由這一行造成的:

cin>>s1; 

你還是使用

getline(cin, s1); 

這裏。

+0

一個這樣做,但現在它甚至挽救一個單詞!什麼是解決方案 – Wysla 2013-04-26 07:27:45

+0

這很可能是由於cin >> kaput在輸入緩衝區後面留下'\ n'字符。這將導致getline(cin,s1)返回一個空字符串(因爲它只讀取下一個'\ n')。有關如何刷新輸入緩衝區,請參見[link](http://stackoverflow.com/questions/478258/why-is-this-cin-reading-jammed)。 – CyDek 2013-04-27 22:17:55

相關問題