返回「计算机、信息技术与工程」

C与C++文件操作

更多
Markdown 结构化数据
本文目录 4 个章节

C与C++文件操作

创建时间:2020/3/11 1:27

cc++文件操作

流式文件操作

string str1 = "test";
string str2 = "test";

fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串到流 fgets() 从流中读一行或指定个字符 fprintf() 按格式输出到流 fscanf() 从流中按格式读取 feof() 到达文件尾时返回真值 ferror() 发生错误时返回其值 rewind() 复位文件定位器到文件开始处 remove() 删除文件 fread() 从流中读指定个数的字符 fwrite() 向流中写指定个数的字符 tmpfile() 生成一个临时文件流 tmpnam() 生成一个唯一的文件名

  1. FILE *fopen(const char *filename,const char *mode),fopen实现三个功能 "r" 以只读方式打开文件 "w" 以只写方式打开文件 "a" 以追加方式打开文件 "r+" 以读/写方式打开文件,如无文件出错 "w+" 以读/写方式打开文件,如无文件生成新文件
string str1 = "test";
string str2 = "test";
  1. int fclose(FILE *fp); 如果成功,返回0,失败返回EOF 在程序结束时一定要记得关闭打开的文件,不然可能会造成数据丢失的情况,我以前就经常犯这样的毛病。
  2. int fputc(int c, FILE *stream);
  3. int fputc(FILE *stream);
  4. int fseek(FILE *stream, long offset, int whence); 一般用于二进制模式打开的文件中,功能是定位到流中指定的位置 参数offset是移动的字符数,whence是移动的基准,取值是 符号常量 值 基准位置 SEEK_SET 0 文件开头 SEEK_CUR 1 当前读写的位置 SEEK_END 2 文件尾部
  5. int fputs(const char *s, FILE *stream);

详细参考:https://blog.csdn.net/hbqjzx/article/details/86525693

直接I/O文件操作

通过直接存/取文件来完成对文件的处理,而上篇所说流式文件操作是通过缓冲区来进行;流式文件操作是围绕一个FILE指针来进行,而此类文件操作是围绕一个文件的"句柄"来进行,什么是句柄呢?它是一个整数,是系统用来标识一个文件(在WINDOWS中,句柄的概念扩展到所有设备资源的标识)的唯一的记号。 这些函数及其所用的一些符号在 io.hfcntl.h 中定义

open() 打开一个文件并返回它的句柄 close() 关闭一个句柄 lseek() 定位到文件的指定位置 read() 块读文件 write() 块写文件 eof() 测试文件是否结束 filelength() 取得文件长度 rename() 重命名文件 chsize() 改变文件长度

详细参考:https://blog.csdn.net/hbqjzx/article/details/86525693

C++