C语言中结构体写入文件中,再从文件中读取,更新文件等

本文介绍C语言中文件的基本操作方法,包括fOpen、fRead、fWrite等函数的应用。针对文件操作中的多线程问题,文章详细阐述了如何利用临界区(关键代码段)来确保文件的正确读写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

对于C语言文件中相应的读写操作,一般用的函数 fOpen, fRead, fWrite ,fSeek,rewind,ftell,fClose

FILE *fp;
 FILE *pfile;
typedef struct tagUSEROPTINFO
{
 long   m_UserCount;      

   char   m_szUser[64];              
}OTPININFO,*LPUSEROPTINFO;

 

文件中指针的移动是个头疼的问题,还好用关键代码段来控制文件的单线程操作

关键代码段(临界区)工作在用户方式下。 

关键代码段(临界区)是指一个小代码段,在代码能够执行前,它必须独占对某些资源的访问权。

它是通过一个临界区对象,来实现互斥.

步骤

1).InitializeCriticalSection 初始化临界代码段

2).EnterCriticalSention 临界代码段,拥有临界区对象所有权

3).LeaveCriticalSection  离开.....,放弃临界区对象所有权

4).DeleteCriticalSection 删除...

实例代码:

CRITICAL_SECTION g_cs;               //全局变量
        InitializeCriticalSection(&g_cs);          //初始化变量

//

EnterCriticalSention (&g_cs)

相关的文件写入操作 ....fWrite();

LeaveCriticalSection(&g_cs)

DeleteCriticalSection (&g_cs)//通常在类的析构函数中实现,

不过除了关键代码段之外还有互斥对象、事件对象等提供文件中的多线程读写操作,互斥对象和时间对象这里就不在罗嗦了...

PS: 最近在看《我们台湾那些年》,原来海峡两岸的老百姓都活的不容易啊,何时能盼到中国真正崛起啊...遥想康熙那些年,比起现在,不知道多NB,就在施琅打败郑家后人收复台湾后,郑家后人就金庸老先生鹿鼎记中写的那个富二代+官二代郑克爽向康熙皇帝上书要求保存郑家子孙,并敕封”海澄公“,一直住在京城,康熙给他题了一副挽联:

四镇多异心,两岛屯师,敢向东南争半壁.

诸王无寸土,一隅抗志,方知还外有孤忠.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值