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

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

大家好,又见面了,我是你们的朋友全栈君。

#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;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140919.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PAT乙级题目索引(题目+解析+AC代码)

    PAT乙级题目索引(题目+解析+AC代码)题目信息 分值 PAT乙级1001害死人不偿命的(3n+1)猜想 15 PAT乙级1002写出这个数 20 PAT乙级1003我要通过! 20 PAT乙级1004成绩排名 20 PAT乙级1005继续(3n+1)猜想 25 PAT乙级1006换个格式输出整数 15 PAT乙级1007素数…

    2022年4月29日
    43
  • 比较坑的Tomcat闪退(win7)

    比较坑的Tomcat闪退(win7)**我的tomcat7用了好久了,可以说是最开始学习javaweb的时候下载的,看着别人的视频里一顿配置,于是我也跟着一顿配置,虽然当时完全不知道在干什么,感觉好厉害的样子!然后直到有一天,你可能把电脑里一些没什么卵用的自己瞎做的项目删除了之后,然后你启动你的tomcat的startup.bat的时候,让人无语的时候来了,只见刷的一下cmd窗口就飞过,然后就没了,你还是一脸蒙逼,什么也不知道。。。…

    2022年5月30日
    31
  • js 数组倒序排列

    <!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><title>js倒序排列</title></head><body><script>vararray=[‘我’,’喜’,’欢’,…

    2022年4月4日
    88
  • 最长上升子序列nlogn算法

    最长上升子序列nlogn算法最长上升子序列nlogn算法题目描述:给定一个整型数组,求这个数组的最长严格递增子序列的长度。譬如序列12243的最长严格递增子序列为1,2,4或1,2,3.他们的长度为3。输入:输入可能包含多个测试案例。对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数,代表这个数组中的数字。整数均在int范围内。

    2022年6月2日
    43
  • C# 深拷贝_python的浅拷贝和深拷贝

    C# 深拷贝_python的浅拷贝和深拷贝C#中的浅复制和深复制示例在本文中,我将通过示例讨论C#中的浅拷贝和深拷贝。这是我们上一篇文章的续篇。因此,在继续本文之前,请阅读我们以前的文章,其中我们使用示例讨论了C#中的原型设计模式。浅复制和深复制在复制原型设计模式中的对象中起着重要作用。因此,在本文中,我们将通过示例讨论什么是“浅复制”和“深复制”以及它们之间的区别。了解C#中的浅表复制:如果是“浅复制”,它将从现有对象创建新对象,然后将当前对象的值类型字段复制到新对象。但是在引用类型的情况下,它将仅复制引用,而不复制被引用对象本身

    2022年9月29日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号