当前位置: 首页 > news >正文

富阳市建设局网站做十个网站

富阳市建设局网站,做十个网站,做问卷调查用哪个网站好,安平网站建设目录 前言 文件的打开和关闭的概念 文件的打开 文件的打开函数 文件打开的模式 文件的关闭 文件的关闭函数 注意事项 字符的输入#xff08;读单个字符#xff09; 字符输入的函数 注意事项 字符的输出#xff08;写单个字符#xff09; 字符输出的函数 注意…目录 前言 文件的打开和关闭的概念 文件的打开 文件的打开函数 文件打开的模式 文件的关闭 文件的关闭函数 注意事项 字符的输入读单个字符 字符输入的函数 注意事项 字符的输出写单个字符 字符输出的函数 注意事项 行输入读取整个行 行输入的函数 注意事项 行输出写整行 行输出的函数 二进制读写 文本文件和二进制的区别 二进制读写函数 注意事项 流的刷新 流的刷新函数 流的定位 流的定位函数 注意事项 判断流是否出错和结束 判断流是否出错和结束函数 格式化输出 格式化输出函数 格式化输入 格式化输入函数 代码练习 要求 具体实现代码 测试结果 总结 前言 上文对标准IO、流及缓冲区的概念进行介绍并进行了相关实验上文链接点这里本文来介绍使用标准IO进行文件的打开、关闭、读、写等相关操作。 文件的打开和关闭的概念 打开就是占用资源 关闭就是释放资源 文件的打开 文件的打开函数 FILE *fopen (const char *path, const char *mode); path普通文件当前路径不需要加目录其他要使用完成的路径 mode文件打开的模式 返回值出错返回NULL所以使用fopen函数必须判断是否为空 文件打开的模式 r或rb以只读方式打开文件文件必须存在。r或rb以读写方式打开文件文件必须存在w或wb以只写方式打开文件若文件存在则文件长度清为0。若文件不存在则创建。w或wb以读写方式打开文件其他同w。a或ab以只写方式打开文件若文件不存在则创建向文件写入的数据被追加到文件末尾。a或ab以读写方式打开文件。其他同a。 文件的关闭 文件的关闭函数 int fclose(FILE *stream) fclose()调用成功返回0失败返回EOF(-1)并设置errno。 流关闭时自动刷新缓冲中的数据并释放缓冲区比如常规文件把缓冲区内容写入磁盘。 当一个程序正常终止时所有打开的流都会被关闭。 注意事项 fclose()函数的入参stream必须保证为非空否则出现断错误。 字符的输入读单个字符 字符输入的函数 int fgetc(FILE *stream); int getc(FILE *stream); //宏 int getchar(void);成功时返回读取的字符若到文件末尾或出错时返回EOF(-1)。 getchar()等同于fgetc(stdin) getc和fgetc区别就是一个时宏一个是函数 注意事项 1、函数返回值是int类型不是char类型主要是为了扩展返回值的范围。 2、stdin也是FILE*的指针是系统定义好的指向的是标准输入键盘输入。 3、打开文件后读取是从文件开头开始读读完一个后读写指针会后移。 4、调用getchar会阻塞等待你的键盘输入 字符的输出写单个字符 字符输出的函数 int fputc(int c, FILE *stream); int putc(int c, FILE *stream); int putchar(int c);成功时返回写入的字符出错时返回EOF。 putchar(c)等同于fputc(c, stdout)。 注意事项 1、返回和输入参数都是int类型 2、遇到这种错误Bad file descriptor  很可能是文件打开的模式错误只读模式去写只写模式去读 行输入读取整个行 行输入的函数 char *gets(char *s); 读取标准输入到缓冲区s char *fgets(char *s, int size, FILE *stream);成功时返回s到文件末尾或出错时返回NULL 遇到’\n’或已输入size-1个字符时返回总是包含’\0’ 注意事项 1、gets函数已经被淘汰因为会导致缓冲区溢出 2、fgets 函数第二个参数输入的数据超出sizesize-1个字符会保存到缓冲区最后添加’\0’如果输入数据少于size-1 后面会添加换行符。 行输出写整行 行输出的函数 int puts(const char *s); int fputs(const char *s, FILE *stream);成功时返回非负整数出错时返回EOF puts将缓冲区s中的字符串输出到stdout并追加’\n’ fputs将缓冲区s中的字符串输出到stream,不追加  ‘\n’ 二进制读写 文本文件和二进制的区别 存储的格式不同文本文件只能存储文本。 计算机内码概念文本符号在计算机内部的编码计算机内部只能存储数字0101001....,所以所有符号都要编码 二进制读写函数 size_t fread(void *ptr, size_t size, size_t n, FILE *fp); //void *ptr 读取内容放的位置指针 //size_t size 读取的块大小 //size_t n 读取的个数 //FILE *fp 读取的文件指针size_t fwrite(const void *ptr, size_t size, size_t n, FILE *fp); //void *ptr 写文件的内容的位置指针 //size_t size 写的块大小 //size_t n 写的个数 //FILE *fp 要写的文件指针注意事项 文件写完后文件指针指向文件末尾如果这时候读读不出来内容。 解决办法移动指针后面讲解到文件头关闭文件重新打开 流的刷新 流的刷新函数 int fflush(FILE *fp); 成功时返回0出错时返回EOF。 将流缓冲区中的数据写入实际的文件。 Linux下只能刷新输出缓冲区,输入缓冲区丢弃。 如果输出到屏幕使用fflush(stdout)。 流的定位 流的定位函数 long ftell(FILE *stream); long fseek(FILE *stream, long offset, int whence); void rewind(FILE *stream);ftell()成功时返回当前读写位置出错时返回EOF。 fseek()定位一个流成功时返回0出错时返回EOF。 rewind()将流定位到文件开始位置 whence参数SEEK_SET/SEEK_CUR/SEEK_END offset参数偏移量可正可负 SEEK_SET从距文件开头 offset 位移量为新的读写位置SEEK_CUR以目前的读写位置往后增加 offset 个位移量SEEK_END将读写位置指向文件尾后再增加 offset 个位移量 注意事项 1、打开a模式fseek无效 2、读写流时当前读写位置自动后移。 判断流是否出错和结束 判断流是否出错和结束函数 #include stdio.h int ferror(FILE *stream); int feof(FILE *stream);ferror()返回1表示流出错否则返回 feof()返回1表示文件已到末尾否则返回0 格式化输出 格式化输出函数 int fprintf(FILE *stream, const char *fmt, …); int sprintf(char *s, const char *fmt, …);成功时返回输出的字符个数出错时返回EOF。 格式化输入 格式化输入函数 int fscanf(FILE *stream, const char *format, ...); int sscanf(const char *str, const char *format, ...);代码练习 要求 1、每隔1s以指定格式 “年-月-日” 分别写入文件和缓冲区 2、该程序无限循环直到CtrlC中断程序 具体实现代码 #include stdio.h #include time.h #include unistd.h #include string.h int main(int argc,const char* argv) {FILE *fp;time_t ctime;struct tm *ctimester;int linecount 0;char buf[32];fp fopen(1.txt,a);if(fp NULL){perror(fopen);return 0;}//calculate 1.txt linewhile(fgets(buf,32,fp)!NULL){if(buf[strlen(buf)-1] \n){linecount;}}while(1){ctime time(NULL);ctimester localtime(ctime);printf(%04d-%02d-%02d %02d:%02d:%02d\n,ctimester-tm_year1900,ctimester-tm_mon1,ctimester-tm_mday,ctimester-tm_hour,ctimester-tm_min,ctimester-tm_sec);fprintf(fp,%d, %04d-%02d-%02d %02d:%02d:%02d\n,linecount,ctimester-tm_year1900,ctimester-tm_mon1,ctimester-tm_mday,ctimester-tm_hour,ctimester-tm_min,ctimester-tm_sec);fflush(fp);sleep(1);}fclose(fp);return 0; }测试结果 总结 本文总结了C语言标准IO的输入、输出、读写、流的刷新定位等相关概念及函数介绍并根据这些函数进行了一个包含文件打开关闭、读写、格式化输出等内容的实现。
http://www.pierceye.com/news/170376/

相关文章:

  • 为什么有人做商城优惠券网站卖科技风格设计网站
  • 企业网站的需求分析是做网站编辑还是做平面设计
  • 超酷 flash 网站淮南网红餐厅
  • 湛江网站建设开发株洲关键词seo优化服务商
  • 女的有没有做网站的十大经典随身空间小说推荐
  • 江西做网站哪家好监理证查询网
  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗
  • 建筑材料价格查询网站做网站从哪方面入门
  • 百度百科网站怎么做360优化大师app下载
  • 那些网站用不着做优化个人网站设计案例
  • wordpress怎么釆集文章杭州seo百度关键词排名推广
  • 网站地址解析做好系部宣传和网站建设
  • 单页网站建设做淘宝优惠网站步骤
  • apache建立多个网站仿卢松松博客网站源码
  • 婚恋网站上海网络推广需要多少钱
  • 网站建设规划方案ppt模板wap浏览器安卓版
  • 网站关键词优化教程成都展厅设计公司
  • 百度网站排名软件怎么做网站竞价
  • 设计素材网站校园二手市场网站建设
  • 电子产品网站设计asp做微网站
  • 网站内部优化建设温州 网站制作
  • 怎么自己做网站地图网站涉及敏感视频等该怎么做
  • 个人网站建设主要功能南京自助建站网站
  • 替别人做设计的网站商业空间
  • 做网站很赚钱吗郴州网站定制
  • 霞浦建站公司建设通是个什么网站