C++修改文件
方法
实例向ep-data.txt文件中存入数据
#include<iostream>
#include<fstream>
using namespace std;
const int LIMIT = 5;
void file_it(ostream&, const double[], int);
int main() {
fstream fout;
double eps[LIMIT] {};
const char* fn = "ep-data.txt";
fout.open(fn);
if (!fout.is_open()) {
cout << "open " << fn << ".Bye.\n";
exit(EXIT_FAILURE);
}
for (int i = 0; i < LIMIT; i++) {
eps[i] = i;
}
file_it(fout, eps, LIMIT);
file_it(cout, eps, LIMIT);
return 0;
}
void file_it(ostream & os , const double fe[] , int n) {
ios_base::fmtflags initial;
initial = os.setf(ios_base::fixed);
os.precision(4);
os << n+12.12227<<"\n";
os << n + 12 << endl;
os.setf(ios::showpoint);
os.precision(9);
for (int i = 0; i < n; i++) {
os.width(15);
os << (fe[i] + 5) << endl;
os.setf(initial);
}
}
知识点:
<fstream>
方法使用文件指针对文件进行操作。ostream
对象表示输出流(cout就是输出流)。fout.open()
打开文件。fout.is_open()
返回文件是否已打开。ios_base::fmtflags
是os.setf()
的类型。os.setf(ios_base::fixed)
将对象设为使用定点表示法的模式。
定点表示法:将数据分为浮点型和非浮点型,浮点型使用precision属性,非浮点型则不变。os.precision(4)
设置显示4位小数,向低精度转换时使用四舍五入。os.setf(ios::showpoint)
设置显示小数点模式,即使小数点部分为零。