分享
017-C,C++文件读文件的操作【瑞客论坛 www.ruike1.com】.txt
下载文档

ID:3403092

大小:6.40KB

页数:5页

格式:TXT

时间:2024-04-28

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
瑞客论坛 www.ruike1.com 017-C C+文件读文件的操作【瑞客论坛 www.ruike1.com】 017 C+ 文件 操作 论坛 www ruike1 com
017-C,C++文件读文件的操作 2021在线班 郁金香灬老师 QQ 150330575 交流群:158280115 学习目标: C语言文件读写接口 //掌握 C++文件读写接口 //了解 C语言的文件操作相关函数 文件的打开操作 fopen 打开一个文件       文件的关闭操作 fclose 关闭一个文件       文件的读写操作 fgetc 从文件中读取一个字符               fputc 写一个字符到文件中去               fgets 从文件中读取一个字符串               fputs 写一个字符串到文件中去               fprintf 往文件中写格式化数据               fscanf 格式化读取文件中数据               fread 以二进制形式读取文件中的数据               fwrite 以二进制形式写数据到文件中去               getw 以二进制形式读取一个整数               putw 以二进制形式存贮一个整数     文件状态检查函数 feof 文件结束               ferror 文件读/写出错               clearerr 清除文件错误标志               ftell 获取文件指针的当前位置       文件定位函数 rewind 反绕               fseek 随机定位 fflush()用于清空文件缓冲区 1.打开文件:FILE * fopen(const char *filename, const char *mode) 2.关闭文件:int fclose (FILE* stream) //格式化读数据 int fscanf (FILE *stream, const char *format[, address, ...]);    int fprintf (FILE *stream, const char *format[, address, ...]); //读取字符串 char *fgets (char *s, int n, FILE *stream);   int fputs (const char*s, FILE *stream); //读写二进制数据 fread和fwrite读写文件   函数原型如下:   unsigned fread (void *ptr, unsigned size, unsigned n, FILE *stream);   unsigned fwrite (const void *ptr, unsigned size, unsigned n, FILE *stream); fseek改变文件当前位置 feof(检查文件流是否读到了文件尾) 相关函数 fopen,fgetc,fgets,fread 表头文件 #include<stdio.h> 定义函数 int feof(FILE * stream); 函数说明 feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返回之文件指针。如果已到文件尾则返回非零值,其他情况返回0。 返回值 返回非零值代表已到达文件尾。   fflush(更新缓冲区) 相关函数 write,fopen,fclose,setbuf 表头文件 #include<stdio.h> 定义函数 int fflush(FILE* stream); 函数说明 fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。如果参数stream为NULL,fflush()会将所有打开的文件数据更新。 返回值 成功返回0,失败返回EOF,错误代码存于errno中。 错误代码 EBADF 参数stream 指定的文件未被打开,或打开状态为只读。其它错误代码参考write()。 //获取文件大小 FILE *fp; fp = fopen("c:\\123.txt" , "r"); fseek( fp , 0 , SEEK_END ); int file_size; file_size = ftell( fp ); C++文件读写接口 1 #include <fstream> 2.ofstream //文件写操作 内存写入存储设备 3.ifstream //文件读操作,存储设备读区到内存中 4.fstream //读写操作,对打开的文件可进行读写操作 windows 文件读写API函数 HANDLE CreateFile( LPCTSTR lpFileName, // file name对象路径名 DWORDdwDesiredAccess, // access mode控制模式 DWORDdwShareMode, // share mode共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD 安全属性(也即销毁方式) DWORD dwCreationDisposition, // how to create DWORDdwFlagsAndAttributes, // file attributes HANDLEhTemplateFile // handle to template file ); BOOL ReadFile( HANDLEhFile, // handle to file LPVOIDlpBuffer, // data buffer DWORD nNumberOfBytesToRead, // number of bytes to read LPDWORD lpNumberOfBytesRead, // number of bytes read LPOVERLAPPED lpOverlapped // overlapped buffer ); BOOL WriteFile( HANDLEhFile, // handle to file LPCVOIDlpBuffer, // data buffer DWORD nNumberOfBytesToWrite, // number of bytes towrite LPDWORD lpNumberOfBytesWritten, // number of bytes written LPOVERLAPPED lpOverlapped //overlapped buffer ); FlushFileBuffers(hFile);// 先把写文件缓冲区的数据强制写入磁盘。 SetFilePointer(hFile, lDistance, NULL, FILE_BEGIN);//设置文件位置 // C017_文件读取示例.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> //C++ #include <stdio.h> //C 文件读写 #define 文件路径 "c:\\测试文件.txt" //文件读取数据的例子 void 文件读取(const char*filepath) { //读取内容 然后printf显示 FILE *pfile; fopen_s(&pfile, filepath, "r"); //r表示 只读内容 不写 char buf[256] = { 0 }; fread(buf, 1, 18, pfile); printf("buf=%s\n", buf); fclose(pfile); } size_t 获取文件大小(FILE * pfile) { int 当前位置 = ftell(pfile); fseek(pfile, 0, SEEK_END);//移动文件尾部 size_t 文件大小= ftell(pfile); fseek(pfile, 当前位置,0);//移动文件尾部 return 文件大小; } void 文件读取2(const char*filepath) { //读取内容 然后printf显示 FILE *pfile; fopen_s(&pfile, filepath, "r"); //r表示 只读内容 不写 //计算出文件大小 size_t 文件大小 = 获取文件大小(pfile); //动态分配的内存空间 char* buf =(char*)malloc(文件大小); memset(buf, 0, 文件大小); fread(buf, 1, 文件大小, pfile); fclose(pfile); printf("文件大小=%d 字节,buf=%s\n", 文件大小, buf); free(buf); } int main() { 文件读取2(文件路径); getchar(); std::cout << "Hello World!\n"; }

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开