// FileDefine.h
#ifndef _FILEDEFINE_H_
#define _FILEDEFINE_H_#include <string>
using namespace std;
/*
文件操作,对磁盘的读写:
fopen 打开模式 和 缓存区大小
打开模式:
r:read 读没有文件会读取失败
w:write 写会清空文件,没有可以创建文件
a:append 写追加没有文件可以创建文件
+: input + output
b: binary 没有b修饰的是默认ascii文本操作
t: text,是文本文件方式打开读写,如果没有b修饰,那么默认就是t 文本方式。
fwrite返回的长度不等于要写的长度,那说明磁盘满了。
fclose
读写:
字符读写:
fputc fgetc
字符串读写:
fputs fgets
数据块读写:
fread 连续读写,文件内部的指针游标会跟随累加
fwrite 连续写也会累加
参数:new内存,结构体的地址。
格式化读写:
fscanf(fp,"%d%s", num, name)格式化读取,将从文件指针fp中读取的数据存入num,name中,然后格式化输出
fprintf
跳转计算访问索引:
fseek跳到指定的位置
ftell返回当前的长度
EOF是-1作为文本文件结束的标志,但是在二进制文件中不行,需要用到feof函数。
屏幕操作,对键盘和屏幕的读写:
printf输出到屏幕
gets从屏幕输入
getc
putchar显示读取的字符
*/
// 包头
struct PackageHeader
{
int m_nCount; // 文件的个数
int m_nLen; // 文件的长度
PackageHeader()
{
m_nCount = 0;
m_nLen = 0;
}
/*PackageHeader& operator =(const PackageHeader &b)
{
this->m_nCount = b.m_nCount;
this->m_nLen = b.m_nLen;
return (*this);
}*/
};
// 每个文件的索引信息
struct FileList
{