1. 程式人生 > >cin/cout重定向到檔案,避免鍵盤的重複輸入

cin/cout重定向到檔案,避免鍵盤的重複輸入

cin/cout重定向

  • 定向到檔案以及還原回控制檯的方法
    //freopen("C:\\Users\\Administrator\\Desktop\\consoleout.txt", "w", stdout); //代替標準輸出
    //freopen("C:\\Users\\Administrator\\Desktop\\consolein.txt","r", stdin); //代替標準輸入
    streambuf *stdcin = cin.rdbuf();//改變定向前備份標準輸入輸出
    streambuf *stdcout = cout.rdbuf();

    ifstream mycin("C:\\Users\\Administrator\\Desktop\\consolein.txt"
); cin.rdbuf(mycin.rdbuf());//開啟檔案後定向到檔案流,用完關閉檔案 Sales_data sd1,sd2; double price; cin >> sd1.bookNo >> sd1.units_sold>>price; sd1.revenue = sd1.units_sold*price; cin >> sd2.bookNo >> sd2.units_sold >> price; sd2.revenue = sd2.units_sold*price;
cout << sd1.bookNo <<" "<< sd1.revenue <<" "<< sd1.units_sold << endl; mycin.close();//關閉檔案流 cin.rdbuf(stdcin); cout.rdbuf(stdcout);//恢復到標準輸出
  • 也可以使用作業系統提示符$來改變定向
   $ addItems <infile >outfiles