第一個程序:將內容寫入txt文本
#include "stdafx.h"
#include <iostream>
#include <fstream> //for file I/O
using namespace std;
int main(int argc, char* argv[])

{
char automobile[50];
int year;
double a_price;
double d_price;
ofstream outFile; //creat object for output

/**//* associate with a file在這里,程序運行之前,文件carinfo.txt并不存在。
* 在這種情況下,方法open()將新建一個名為carinfo.txt的文件。運行該程序
* 之后,文件carinfo.txt將存在。默認情況下,open()將首先截短該文件,即
* 將其長度截短到零——丟棄原有內容,然后將新的輸出加入到該文件中。
*
* 打開已有的文件,以接受輸出時,默認將它其長度截短為零,因此原來的內容將丟失。
*/
outFile.open("carinfo.txt");

cout<<"Enter the make and model of auto mobile: ";
cin.getline(automobile,50);
cout<<"Enter the model year: ";
cin>>year;
cout<<"Enter the original asking price: ";
cin>>a_price;
d_price=0.913*a_price;
//display information on screen with cout
cout<<fixed;
cout.precision(2);
cout.setf(ios_base::showpoint);
cout<<"Make and model: "<<automobile<<endl;
cout<<"Year: "<<year<<endl;
cout<<"Was asking $"<<a_price<<endl;
cout<<"Now asking $"<<d_price<<endl;
//now do exact same things using outFile instead of cout
outFile<<fixed;
cout.precision(2);
cout.setf(ios_base::showpoint);
outFile<<"Make and mode: "<<automobile<<endl;
outFile<<"Year: "<<year<<endl;
outFile<<"Was asking $"<<a_price<<endl;
outFile<<"Now asing $"<<d_price<<endl;
outFile.close(); //done with file
return 0;
}第二個程序:讀取txt文本的內容
下面程序打開用戶指定的文件,讀取其中的數字,然后指出文件中包含多少個值以及它們的和與平均值。正確地設計輸入循環至關重要。
這個程序我運行的時候出了一個問題,就是未能找到最后結果計算,如下圖所示,
程序代碼如下:
#include "stdafx.h"
#include <iostream>
#include <fstream> //file I/O support
#include <cstdlib> //support for exit()
using namespace std;
const int SIZE =60;
int main(int argc, char* argv[])

{
char filename[SIZE];
ifstream inFile; //object for handling file input
cout<<"Enter name of data file: ";
cin.getline(filename, SIZE);
inFile.open(filename); //associate inFile with a file
if(!inFile.is_open()) //failed to open file
{
cout<<"Could not open the file "<<filename<<endl;
cout<<"Program terminating.\n";
exit(EXIT_FAILURE);
}
double value;
double sum=0.0;
int count=0; //number of items read
inFile>>value; //get first value
while(inFile.good()) //while input good and not at EOF
{
++count; //one more item read
sum+=value; //calculate runing total
//cout<<"第"<<count<<"個數="<<value<<endl;
inFile>>value; //get next value
}
//cout<<value<<endl;
if(inFile.eof())
cout<<"End of file reached.\n";
else if(inFile.fail())
cout<<"Input terminated by data mismatch.\n";
else
cout<<"Input terminated for unknown reason.\n";
if(count==0)
cout<<"No data processed.\n";
else
{
cout<<"Items read: "<<count<<endl;
cout<<"Sum: "<<sum<<endl;
cout<<"Average: "<<sum/count<<endl;
}
inFile.close(); //finished with the file
return 0;
}

