VC++下的文件操作Word格式.docx
- 文档编号:6376758
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:10
- 大小:135.70KB
VC++下的文件操作Word格式.docx
《VC++下的文件操作Word格式.docx》由会员分享,可在线阅读,更多相关《VC++下的文件操作Word格式.docx(10页珍藏版)》请在冰点文库上搜索。
intfgetc(FILE*stream);
读写成功则返回字符,失败则返回EOF(即-1)
//读写字串
//格式化IO
fprintf(fp,格式串,输出变量列表);
fscanf(fp,格式串,输入变量地址表列);
以上各读写函数适用于文本文件
//二进制文件读写,结构体(块)读写
size_tfread(void*buf,size_tsize,size_tcount,FILE*stream);
size_tfwrite(constvoid*buf,size_tsize,size_tcount,FILE*stream);
buf数据块指针,可以是结构体
size一次读写的单位字节的倍数
count指定size的个数,即读写数据量为count*size(B)
stream文件指针
//文件定位
voidrewind(FILE*fp);
//返回文件开头
intfseek(FILE*fp,longoffset,longorigin);
//一般用于二进制文件
offset偏移量,单位:
字节
origin(偏移量的)起始点,有值
//取得文件当前位置(相对于文件开头)
longftell(FILE*fp);
//若不存在文件,返回-1
//判结束
feof(FILE*fp);
//若结束返回非零值
VC++6.0MFC提供的CFile类
其中,CSocketFile操作内存文件,CStudioFile操作文本文件。
各种非互斥参数可以通过“|”连结起来。
部分成员函数
virtualBOOLOpen(LPCTSTRlpszFileName,UINTnOpenFlags,CFileException*pError=NULL);
CFileException为文件异常类,pError->
m_cause为错误码(异常原因),pError->
m_sttrFileName为异常文件名,pError->
m_IOsError为系统I/O异常原因。
//关闭文件,删除对象
voidClose();
//关闭文件,忽略警告和错误
voidAbort();
//I/O方法
virtualUINTRead(void*buf,UINTcount);
throw(CFileException);
virtualUINTWrite(void*buf,UINTcount);
buf进行读写数据块(可以是结构体和类)的指针
count读写字节数
virtualLONGSeek(LONGIOff,UINTnForm);
throw(CFileException);
IOff(相对于nForm的)偏移量(单位:
字节)
nForm有值:
CFile:
:
begin\CFile:
current\CFile:
end.
voidSeekToBegin();
throw(CFileException);
DWORDSeekToEnd();
//获取文件当前位置
virtualDWORDGetPosition()const;
//文件状态操作
BOOLGetStatus(CFileStatus&
rStatus)const;
staticBOOLPASCALGetStatus(LPCTSTRlpszFileName,
CFileStatus&
rStatus);
staticvoidSetStatus(LPCTSTRlpszFileName,constCFileStatus&
rStatus为CFileStatus的引用。
CFileStatus的以下成员:
CTimem_ctime文件创建时间
CTimem_mtime文件最后更改时间
CTimem_atime文件最近访问时间
LONGm_size文件逻辑大小,单位:
BYTEm_attribute文件属性
有值:
32(非只读,非隐藏)、33(只读,非隐藏)、34(非只读,隐藏)、35(只读,隐藏)
charm_szFullName[MAX_PATH]文件全路径名(含文件名)
文件查找类CFileFind
部分成员函数:
//判文件是否存在
virtualBOOLFindFile(LPCTSTRname,DWORDdwUnused=0);
name指定要查找的文件,可以用过滤器(如"
*.*"
)
dwUnused系统保留,必须为0
//移判下一个文件是否存在
virtualBOOLFindNextFile();
该函数与FindFile配对使用,调用该函数后将最近的FindFile要查找的文件句柄传给FindFile对象.
//判断是否是目录
BOOLIsDirectory();
//判断是否是“.或..”目录
BOOLIsDots();
//获取文件名
CStringGetFileName();
CStringGetFileTitle();
//获取文件(全)路径
CStringGetFilePath();
API文件操作函数(直接使用)
//文件复制
BOOLCopyFile(
LPCTSTRlpExistingFileName,//指定现有文件名
LPCTSTRlpNewFileName,//指定新文件名
BOOLbFaillfExits,//如果新文件存在则指定操作方式(false强制覆盖)
);
//创建目录
BOOLCreateDirectory(
LPCTSTRlpPathName;
//要创建的目录路径
NULL//第二参数不理解,一般为NULL
//获取当前路径
TCHARpath[MAX_PATH];
GetCurrentDirectory(MAX_PATH,path);
//删除文件
BOOLDeleteFile(LPCTSTRlpFileName);
//重命名文件或目录
BOOLMoveFile(LPCTSTRlpExistingFileName,LPCTSTRlpNewFileName);
//文件删除到回收站
IntSHFileOperation(
LPSHFILEOPSTRUCTlpFileOp;
//指向LPSHFILEOPSTRUCT结构
lpFileOp为指向SHFILEOPSTRUCT结构的指针,即LPSHFILEOPSTRUCT为
SHFILEOPSTRUCT的指针类型。
SHFILEOPSTRUCT的成员变量:
HWNDhWnd
窗口句柄,一般为NULL
UINTwFunc
操作类型,如FO_DELETE、FO_MOVE(移动)
LPCSTRpFrom
源文件名
LPCSTRpTo
目标文件名
FILEOP_FLAGSfFlags
操作标记
BOOLfAnyOperationsAborted
操作选择位,一般不管
LPVOIDhNameMappings
文件映射,一般为NULL
LPCSTRlpszProgressTitle
文件操作进度窗口标题
pFrom与pTo指向的字符缓冲区末尾要含2个以上的'
\0'
。
fFlags的各种操作标记
FOF_FILESONLY
只操作文件
FOF_ALLOWUNDO
允许从回收站恢复文件
FOF_NOCONFIRMATION
目标文件存在时不进行覆盖确认
FOF_NOERRORUI
不显示错误提示
FOF_RENAMEONCOLLISION
存在文件名冲突时重命名
FOF_SILENT
不显示进度对话框
FOF_WANTMAPPINGHANDLE
要求返回处于操作状态的实际文件列表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 文件 操作