博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
按照块的方式操作文件
阅读量:4211 次
发布时间:2019-05-26

本文共 1770 字,大约阅读时间需要 5 分钟。

按照块的方式操作文件,具体可以看如下代码:

 

#define  _CRT_SECURE_NO_WARNINGS #include 
#include
#include
//直接把内存数据 写入到 文件中typedef struct Teacher{ char name[64]; int age;}Teacher;void main_fwrite(){ int i = 0; FILE* fp = NULL; char* fileName = "c:/3.data"; Teacher tArray[3]; int myN = 0; for (i = 0; i < 3; i++) { sprintf(tArray[i].name, "%d%d%d", i + 1, i + 1, i + 1); //将格式化内容输出到字符串中,在这里是tArray[i].name printf("%s\n", tArray[i].name); tArray[i].age = i + 31; } fp = fopen(fileName, "wb"); if (fp == NULL) { printf("建立文件失败\n"); return; } for (i = 0; i < 3; i++) { //_Check_return_opt_ _CRTIMP size_t __cdecl // fwrite(_In_count_x_(_Size*_Count) const void * _Str, _In_ size_t _Size, _In_ size_t _Count, _Inout_ FILE * _File); //函数参数 //_Str : 从内存块的开始 //_Size //内存打包技术 //_Count 写多少次 //_File : 写入到 文件指针 所指向的文件中 //函数的返回值 myN = fwrite(&tArray[i], sizeof(Teacher), 1, fp); //myN 判断 有没有写满 磁盘 } if (fp != NULL) { fclose(fp); }}void main_fread(){ int i = 0; FILE* fp = NULL; char* fileName = "c:/3.data"; Teacher tArray[3]; int myN = 0; fp = fopen(fileName, "r+b"); if (fp == NULL) { printf("建立文件失败\n"); return; } for (i = 0; i < 3; i++) { //_Check_return_opt_ _CRTIMP size_t __cdecl // fread(_Out_bytecap_x_(_ElementSize*_Count) void * _DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE * _File); myN = fread(&tArray[i], sizeof(Teacher), 1, fp); //函数的返回值 //myN = fwrite( &tArray[i],sizeof(Teacher) , 1, fp); //myN 判断 有没有写满 磁盘 } for (i = 0; i < 3; i++) { //sprintf(tArray[i].name, "%d%d%d", i+1, i+1, i+1); //tArray[i].age = i + 31; printf("name:%s, age:%d \n", tArray[i].name, tArray[i].age); } if (fp != NULL) { fclose(fp); }}void main(){ main_fwrite(); //main_fread(); printf("hello...\n"); system("pause"); return;}

 

转载地址:http://nqzmi.baihongyu.com/

你可能感兴趣的文章
中间数
查看>>
KMP求前缀函数(next数组)
查看>>
KMP
查看>>
poj 3863Business Center
查看>>
Android编译系统简要介绍和学习计划
查看>>
Android编译系统环境初始化过程分析
查看>>
user2eng 笔记
查看>>
DRM in Android
查看>>
ARC MRC 变换
查看>>
Swift cell的自适应高度
查看>>
【linux】.fuse_hiddenXXXX 文件是如何生成的?
查看>>
【LKM】整合多个LKM为1个
查看>>
【Windows C++】调用powershell上传指定目录下所有文件
查看>>
Java图形界面中单选按钮JRadioButton和按钮Button事件处理
查看>>
小练习 - 排序:冒泡、选择、快排
查看>>
SparkStreaming 如何保证消费Kafka的数据不丢失不重复
查看>>
Spark Shuffle及其调优
查看>>
数据仓库分层
查看>>
常见数据结构-TrieTree/线段树/TreeSet
查看>>
Hive数据倾斜
查看>>