C++文件操作

这是前段时间,要对公司的短信发送平台修改时采用的一个方法,把未更新的信息ID号保存在文件中,然后在突然荡机的时候可以对数据进行更新,保证用户不会接收到两条相同的短信,代码如下:

把数据写入文件
// file.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
typedef struct node{
 int data;
}NODE;
 
int _tmain(int argc, _TCHAR* argv[])
{
 NODE p[50],temp[50],s;
 int oldnum=0;
 fstream file("data.txt",ios::out);
 for(int i=0;i<5;i++)
 {
  p[i].data=i;
  file.write((char *)&p[i],sizeof(NODE));  
 } 
// file.close();如果想连续写数据进入文件,则不要关闭数据流
// file.open("data.txt",ios::out);//这是以写的方式打开文件
 file.seekg(0,ios::end);//把文件流的指针定位到文件的最后
 for(int i=5;i<10;i++)
 {
  p[i].data=i;
  file.write((char *)&p[i],sizeof(NODE));
 }
 file.close();
 return 0;
}
从文件中读出数据
 
// file.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
typedef struct node{
 int data;
}NODE;
 
int _tmain(int argc, _TCHAR* argv[])
{
 NODE p[50],temp[50],s;
 int oldnum=0;
 
 fstream file("data.txt",ios::in);
 while(1)
 {
  file.read((char *)&s,sizeof(NODE));
  if(!file)
   break;
  temp[oldnum]=s;
  oldnum++;
  
 }
 file.close();
 cout<<”共有”<<oldnum<<”结构体”<<endl;
 for(int i=0;i<oldnum;i++)
 {
  cout<<temp[i].data<<endl;
 }
  
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值