C++文件操作

来源:互联网 发布:淘宝差评能删除吗 编辑:程序博客网 时间:2024/05/20 04:46

这是前段时间,要对公司的短信发送平台修改时采用的一个方法,把未更新的信息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;
}

原创粉丝点击