《C++ Premer Plus》...
下面的程序可以在txt文件中任意位置写入数据,该位置上的一组数据会被覆盖,但后面的数据很安全。
我在此基础上也进行过“在不把插入位置往后数据搬到另一个txt文件的情况下不删除原来数据、插入新数据”的探索,但最终我的“微整形手术”失败了。底子不够啊。“我一定会回来的,小羊们!”--灰太狼
#include "stdafx.h" //vs版本环境下
#include<fstream> //向文件输入、输出
#include<iostream>
#include<cstdlib> //for exit()
#include<string>
#include<iomanip> //输出格式设置 setw()
using namespace std;
const char *file = "file1.txt";
inline void eatline(){ while (std::cin.get() != '\n')continue; }
struct planet
{
char name[10];
double gdp;
};
planet p1;
int _tmain(int argc, _TCHAR* argv[])
{
//本模块测试在两组数据间插入数据
//二进制读写模式打开文件 | ios_base::ate
using std::cin; using std::cout; //没有这个cin cout不明确
fstream finout(file, ios_base::out | ios_base::in | ios_base::binary);
if (!finout.is_open())
{
cout << "fail to open the file\n";
exit(EXIT_FAILURE);