新闻详情

新闻详情

首页 / 资讯中心 / 详情

文件操作与文件指针

发布时间:2026/10/1 16:08:12来源:尧图网络
文件操作与文件指针
1.stdin是指从键盘输入 stdout是指输出到显示屏 stderr是指标准错误流在C语言中通过FILE*来维护流的操作称为文件指针通过它可以找到与其对应的文件2.fopen用来打开文件fclose用来关闭文件r 是读取文件如果没有则出错是文本模式 rb对应二进制模式w 是写文件如果没有则创建文件写并且如果有原文件则会删除文件内容再输入新的内容对应的是文本模式 wb对应的是二进制模式fgetc输入一个字符 fgets输入一串字符串fputc输出一个字符 fputs输出一串字符串//打开文件data.txt读取数据 //打开文件data_copy.txt写数据 //从data.txt中读取数据存放到data_copy.txt文件中直到文件结束。 //关闭两个文件 int main() { FILE* fp_one fopen(data.txt, r);// if (fp_one NULL) { perror(fopen); return 1;//失败返回1//return 0;对应成功 } FILE* fp_two fopen(data_copy.txt, w);//r对应文本模式.txt if (fp_two NULL) //rb对应二进制模式.exe { perror(fopen); fclose(fp_two); } int ch; while ((ch fgetc( fp_one)) ! EOF)//EOFfgetc()和getchar()的返回值文件读取 { //NULL指针变量 fputc(ch, fp_two); } fclose(fp_one); fclose(fp_two); return 0; }3.fgetc如果出错有两种情况遇到文件末尾用feof遇到错误, 用 ferror4.区分scanf 针对标准输入流stdin格式化输入函数printf 针对标准输出流stdout格式化输出函数fscanf 针对所有输入流类型格式化输入函数fprintf 针对所有输出流类型格式化输出函数sscanf 从字符串中解析格式化的数据sprintf 把格式化的数据转换成字符串//struct str //{ // char name[20]; // int age; // float score; //}; //int main() //{ // struct str s { wanwu,18,99.5 }; // char arr[80] { 0 }; // struct str t { 0 }; // sscanf(arr,名字:%s\t年龄:%d\t分数:%f, t.name, (t.age), (t.score)); // fprintf(stdout,名字:%s\t年龄:%d\t分数:%.2f, t.name, t.age, t.score); // printf(\n); // sprintf(arr, 名字:%s\t年龄:%d\t分数:%.2f, s.name, s.age, s.score);//printf,fprintf,sprintf为输出可以使用%.2f // sprintf(arr,名字:%s\t年龄:%d\t分数:%.2f, s.name, s.age, s.score);//scanf fscanf,sscanf为输入不可以使用%.2f // fprintf(stdout,名字:%s\t年龄:%d\t分数:%.2f, s.name, s.age, s.score); // printf(\n); // sscanf(arr, 名字:%s\t年龄:%d\t分数:%f, t.name, (t.age), (t.score)); // fprintf(stdout, 名字:%s\t年龄:%d\t分数:%.2f, t.name, t.age, t.score); // return 0; //} //struct str//结构体类型 //{ // char name[20]; // int age; // float score; //}; //int main() //{ // struct str t { wanwu,18,99.5 };//t是定义的变量 // FILE* fp fopen(test.txt, w); // if (fp NULL) // { // perror(fopen); // return 1;//失败返回1//return 0;对应成功 // } // fscanf(fp, 名字:%s\t年龄:%d\t分数:%f, t.name, (t.age), (t.score)); // fprintf(stdout, 名字:%s\t年龄:%d\t分数:%.2f, t.name, t.age, t.score); // return 0; //}5.fwrite将数据写入指定的文件中以二进制的形式写入fread从文件流中读取数据并将其内存到指向对应的缓冲区内6.文件的随机读写fseek 定位文件指针的位置 SEEK_SET对应文件开头SEEK_CUR对应文件指针当前的位置SEEK_END对应文件末尾ftell指的是文件指针相对于文件开头的偏移量rewind是指使文件指针回到文件开头位置处rewindfseek清理错误标志或者稳健结束标志
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

因果模型与因果推断入门:从DAG、Uplift到去混淆建模 2026/10/1 16:56:52

因果模型与因果推断入门:从DAG、Uplift到去混淆建模

1. 从"相关不等于因果"说起:为什么做模型的人迟早要补上这一课做推荐、风控、增长的同学大概都经历过这种场面:离线模型的AUC涨了两个点,上线之后核心指标纹丝不动,甚至倒退;反过来,某个拍脑袋的…

阅读更多 →
北邮编译原理课程设计:词法分析到目标代码生成全流程拆解 2026/10/1 16:56:52

北邮编译原理课程设计:词法分析到目标代码生成全流程拆解

简介:这份资源是北京邮电大学编译原理课程设计的完整实践项目,面向正在学习编译原理、需要动手实现编译器的计算机专业学生。项目以Pascal语言为源语言,覆盖词法分析、语法分析、语义分析、代码生成及符号表管理、错误处理、中间代码生成等核…

阅读更多 →
HowToCook 闽南风味炒年糕:葱油提香的软糯主食完整实战指南 2026/10/1 16:56:52

HowToCook 闽南风味炒年糕:葱油提香的软糯主食完整实战指南

文档教程 【免费下载链接】HowToCook Programmers guide about how to cook at home. 项目地址: https://gitcode.com/GitHub_Trending/ho/HowToCook 点击查看 免费下载 导读 本篇技术指南基于 HowToCook 开源项目中的 炒年糕.md 菜谱文档,系统讲解以米…

阅读更多 →
Anaconda 安装、conda 环境与 Navigator 闪退排查 2026/10/1 16:56:52

Anaconda 安装、conda 环境与 Navigator 闪退排查

1. Anaconda 到底解决了什么问题,Navigator 又在其中扮演什么角色刚入行的朋友问我最多的一句话是:"我不就是想写个 Python 脚本吗,为什么非要装 Anaconda?"这个疑问很合理,因为如果你只写单文件脚本、只用标…

阅读更多 →
SystemVerilog中的automatic关键字:从存储类型到并发安全的完整解析 2026/10/1 16:56:52

SystemVerilog中的automatic关键字:从存储类型到并发安全的完整解析

最近在复盘System Verilog面试题的时候,我总会被同一个关键字击中——automatic。说句实话,这可能是整个SV里“看起来最简单、用起来最嚣张”的一个关键字。很多朋友背了一堆概念,知道“函数加automatic可以递归”,可在真实仿真环…

阅读更多 →
收集回来的中国广电网络(不分省区)IP地址段 2026/10/1 16:56:33

收集回来的中国广电网络(不分省区)IP地址段

注:本文 原 在2019年4月27日发表于笔者的个人博客《IT人的工作生活》,略有修改。原文链接 :https://www.cntse.com/306.html,如需转载,请私信笔者,征得笔者同意后,方可转载,并且需要…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉