2016-10-26 28 views
0

キーボードからユーザー入力(整数値)を取り出してファイルに書きたいと思っていました。別のfile.Myプログラムは、キーボード入力とファイルへの書き込みまで実行されます。しかし、条件のもとでいくつかの値を選択し、別のファイルに書き込む方法はわかりません。ファイルから選択した値を読み込み、C++で新しいファイルに書き込む

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


int main() 
{ 

    ofstream age; 
    age.open("age.txt",ios::out); 
    cout<<"Input the ages from keyboard: "<<endl; 

    for(int i=0;i<3;i++) 
    { 
     int n; 
     cin>>n;  //value inputted from keyboard 
     age<<n<<endl; 
    } 

    ifstream agein; 
    agein.open("age.txt"); //Reading that existing file 

    ofstream ageout; 
    ageout.open("information.txt"); //writing in another file 
    { 
     int m; 
     if(m>18 && m<=80)  //picking value from 18-80 
     ageout<<m<<endl; 
    } 

     age.close(); 
     agein.close(); 
     ageout.close(); 
     return 0; 
} 
+2

'しばらく(STD :: getlineの())'? – genpfault

+1

トピックをオフにする:読み込みのためにファイルを再度開く前に 'age'を閉じる必要があります。 – user4581301

+0

何も入れずに 'm'を使って条件を作るのはなぜですか? – Treycos

答えて

0

読み取り/書き込みを切り替えても、ファイルを開く前にファイルを閉じることを忘れないでください。ここ
に行く:

using namespace std; 

int main() 
{ 
    ofstream age; 
    age.open("age.txt", ios::out); 
    cout << "Input the ages from keyboard: " << endl; 

    for (int i = 0;i<3;i++) 
    { 
     int n; 
     cin >> n;  //value inputted from keyboard 
     age << n << endl; 
    } 

    age.close();// Do NOT forget that before reopening it 

    ifstream agein; 
    agein.open("age.txt"); //Reading that existing file 

    ofstream ageout; 
    ageout.open("information.txt");//writing in another file 
    if(ageout)//Checks if the file exists 
    { 
     string str; 
     int m; 
     while (agein >> m) //Get an int from a file 
      if (m>18 && m <= 80)  //picking value from 18-80 
       ageout << m << endl; 
    } 
    agein.close(); 
    ageout.close(); 
    return 0; 
} 
+0

downvotingではありませんが、良い質問ではありません。宿題の香りを身につけているものには、あまりにもカットアンドペーストが可能です。私は 'if(ageout)'の内容に答えを制限し、可能であれば擬似コードに減らします。それらを正しい方向に向けるが、OPの考え方と研究を少ししてください。 – user4581301

+0

私は実際には、この質問を助けてくれる人のために完全な答えを出しました。これは初心者にとっては本当によくある問題ですから、私は実際にここでOPを気にしません – Treycos

+0

危険な答え、友人。ケアベアは聞いている可能性があります。 – user4581301

関連する問題