关闭

seekp()和seekg()函数简单的应用

标签: c++seekgseekp
144人阅读 评论(0) 收藏 举报
分类:

#include<iostream>
#include<fstream>
using namespace std;
class Stu
{
public:
 char name[10];
 int id;
 Stu()
 {
  strcpy_s(name, "Z");
  id = 0;
 }
 Stu(char *n, int i)
 {
  strcpy_s(name, n);
  id = i;
 }
};
int main()
{
 ofstream out1;
 out1.open("d.dat", ios::binary);
 Stu s1[3];
 s1[0] = { "A", 10 };
 s1[1] = { "B", 20 };
 s1[2] = { "C", 30 };

 for (int i = 0; i < 3; i++)
 {
  out1.write((char*)&s1[i], sizeof(s1[i]));//保存到磁盘中
 }
 out1.close();
 out1.open("d.dat", ios::binary);
 out1.seekp(2 * sizeof(s1[0]), ios::cur);//将磁盘文件指针设置到s1[2]的位置
 Stu ss("lin", 20);
 out1.write((char*)&ss, sizeof(ss));//修改s1[2]的值

 out1.close();

 ifstream in1;
 Stu p;
 in1.open("d.dat", ios::binary);
 in1.seekg(2*sizeof(s1[0]), ios::cur);//将文件指针设置到s1[2]的位置
 in1.read((char *)&p, sizeof(s1[1]));//读取s1[2]的值,检查修改后是否成功
 cout << "name:" << p.name <<'\t'<< "id:" << p.id << endl;
 in1.close();
 return 0;
}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

实战中遇到的C++流文件重置的一个大陷阱: 为什么ifstream的seekg函数无效?

今天下午遇到这样一个问题: 逐行读取了
  • stpeace
  • stpeace
  • 2014-11-02 01:34
  • 6949

C++ 输入流 cin/ ifstream/ istringstream 及几个相关函数在遇到文件结束符EOF时的行为

以下内容分别在VC6.0 和 g++ 4.7下测试: 输入流在遇到文件结束符时会设置其eofbit,但此时在两个编译器上直接测试流得到的结果都为真,同时eof()也为真,举例如下: #include ...
  • u010671090
  • u010671090
  • 2014-02-23 22:27
  • 1516

seek和tell的用法--获取文件内容大小(字节)

/*获取文件中存取的数据内容的大小(字节数) ellg() 和 tellp() 这两个成员函数不用传入参数,返回pos_type 类型的值(根据ANSI-C++ 标准) ,就是一个整数,代表当前ge...
  • smallgyy
  • smallgyy
  • 2014-06-18 10:50
  • 1109

tellg,tellp,seekp,seekg函数

tellg() ——返回一个int型数值,它表示“内置指针”的当前位置。此函数仅当你在读取一个文件时有效。例如:    #include      void main()    { ...
  • long458
  • long458
  • 2011-07-26 16:02
  • 2514

C++流 rdbuf()以及seekg()/seekp()与tellg()/tellp()的用法详解

我们使用STL编程的时候有时候会想到把一个流对象指向的内容用另一个流对象来输出,比如想把一个文件的内容输出到显示器上,我们可以用简单的两行代码就可以完成。 ifstream infile("...
  • sszgg2006
  • sszgg2006
  • 2012-04-17 14:51
  • 9385

奇怪的seekg()还有seekp()

用seekg()和seekp()函数,文件要用二进制的形式读入
  • Iwanaabigdrumstick
  • Iwanaabigdrumstick
  • 2017-03-21 19:10
  • 167

seekg()/seekp()与tellg()/tellp()的用法详解

对输入流操作:seekg()与tellg() 对输出流操作:seekp()与tellp() 下面以输入流函数为例介绍用法: seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二...
  • mafuli007
  • mafuli007
  • 2012-03-03 14:05
  • 29671

第14周-阅读项目3-seekg()、tellg()等函数的功能及其用法

阅读下面的程序,指出其功能,体会seekg()、tellg()等函数的功能及其用法  问题及代码: #include #include using namespace std; co...
  • MIKASA3
  • MIKASA3
  • 2015-06-15 18:50
  • 542

OnTimer函数的简单应用

  • 2013-04-10 09:10
  • 38KB
  • 下载

C++ 虚函数和抽象类的简单应用(cpp&amp;h文件)

  • 2015-07-08 20:58
  • 9.69MB
  • 下载
    个人资料
    • 访问:1068次
    • 积分:120
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论