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

睢宁网站建设xzqjwl沈阳网站关键词优化公司

睢宁网站建设xzqjwl,沈阳网站关键词优化公司,广告设计宣传画册,自己做网站宣传产品前言对于一个代码,运行时可能需要保留产生的结果,例如计算值,筛选值,记录点或者小游戏的得分,而正常情况下我们要保存一个数据,想到的肯定是打开我们的文本软件,手撸文字,今天这篇文…

前言

对于一个代码,运行时可能需要保留产生的结果,例如计算值,筛选值,记录点或者小游戏的得分,而正常情况下我们要保存一个数据,想到的肯定是打开我们的文本软件,手撸文字,今天这篇文章,带你一起,教代码写下它的“记忆”

了解文件本质

对于文本文件和二进制文件,其实都是代表了一系列的字节,C语言提供了底层调用来处理存储设备上的文件,而从一个C语言程序中移出字节,这种字节流就叫做数据流

数据流(data stream)是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。

文件读写

在需要创建或者要打开一个文件时,我们就可以使用fopen()函数,而关闭文件则需使用fclose()函数

创建或者打开时会初始化类型FILE的一个对象,格式:

FILE *fopen( const char *filename, const char *mode );

其中filename是文件的命名,而mode是打开的模式,制作了一个表格方便查阅

mode(模式)

功能

r

以只读的形式打开一个已有的文本文件,允许读取文件(不存在则出错)

w

以写入的形式打开文本文件,不存在,则创建新文件,反之,则从文件起始位置写,覆盖原内容

a

以追加模式打开文本文件,不存在,则创建,会在已有文件的内容后边追加内容,不会覆盖原有内容

r+

以读写的形式打开文本文件,从头开始读,新数据写入只覆盖所占的空间

w+

创建一个新文件,进行写入,从头开始读,文件存在的话原内容全部消失,不存在则创建新文件

a+

可以和a一样追加内容,同时从头开始读

wb

只写模式打开二进制文件

rb

只读模式打开二进制文件

ab

追加模式打开二进制文件

rb+

读写打开一个二进制文件,只允许读写数据。

rt+

读写打开一个文本文件,允许读和写。

wb+

读写打开或建立一个二进制文件,允许读和写。

wt+

读写打开或着建立一个文本文件;允许读写。

at+

读写打开一个文本文件,允许读或在文本末追加数据。

ab+

读写打开一个二进制文件,允许读或在文件末追加数据。

处理二进制文件还可用 r+b,w+b,a+b等

以上面的格式为例,打开或者创建一个文本文件,然后再关闭

int main()
{FILE* zh;f = fopen("word.txt", "w");    //格式例子if (zh != NULL){fputs("fopen example", zh);fclose(zh);zh=NULL;}return 0;
}

如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF。这个函数实际上,会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。

EOF 是一个定义在头文件 stdio.h 中的常量。
C 标准库提供了各种函数来按字符或者以固定长度字符串的形式读写文件。

学会了文件的打开模式后,我们就开始书写代码的“记忆”

文件的读写函数

  • fgetc():读取一个字符

  • fputc():写入一个字符

  • fgets():读取一个字符串

  • fputs():写入一个字符串

  • fprintf():写入格式化数据

  • fscanf():格式化读取数据

  • fread():读取数据

  • fwrite():写入数据

我们可以先小试牛刀

试着写入字符进一个txt文件里

第一步:先在一个地方创建文件夹(方便存储产生的文件,这里以C盘为例,我创建了一个名为tmp的文件夹)

第二步:敲入我们的代码

#include <stdio.h>
int main(){FILE *fp = NULL;    //FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象。fp = fopen("C:/tmp/1.txt","w+");  /*fopen,以w+允许读写的模式打开路径上的1.txt文件此时没有1.txt文件,则自动新建*/char c = 'c';fputc(c,fp);fprintf(fp,"\n");fprintf(fp,"This is testing for fprintf...\n");fputs("This is testing for fputs...\n",fp);fclose(fp);
}

看我们的第五行代码,因为tmp文件夹是新建的,所以里面没有文件,此时我们运行代码后,文件夹里就自动生成了1.txt文件

然后使用了fputc()输入单个字符,fprintf()和fputs()写入了两行字符串

当字符多于一个时,fputc()就会报错

我们先看刚刚运行代码后的结果

此时txt文件中就出现了我们想要的字符

如何实现回应键盘效果,将键盘上输入的字符都写入文件中,实现打字效果呢?

这里我们就可以写一个while循环体,运用getchar()每次都从键盘读取一个字符存进遍历中,然后写入文件

运用键盘往文件里写入字符(实现打字效果)

#include<stdio.h>
int main(){FILE *fp;char ch;fp=fopen("C:/tmp/2.txt","wt+");printf("输入一段字符串,回车代表终止\n");while((ch=getchar())!='\n'){fputc(ch,fp);   //可以输入中文喔}fclose(fp);return 0;
}

此时我们尝试一下运行,输入:

结果:

就是这么的神奇

接下来我们还可以进行一些有趣的功能

读取”记忆“

实现统计文章某个字出现频率

  1. 对于一个不需要写入的文本,我们就以r只读的方式来打开它

  1. 如果打不开,给出错误提示

  1. 运用fgetc()读取字符,通过while循环重复操作,直到无法读取到字符为止(即读完文章最后一个字符)

#include <stdio.h>
int main ()
{FILE * fp;int ch;int n = 0;fp = fopen ("C:/tmp/myfile.txt", "r");if (fp == NULL) perror ("无法打开此文件"); // 打开失败else{while (ch != EOF){ch = fgetc (fp); // 获取一个字符if (ch == 'a') n++; // 统计美元符号 'a' 在文件中出现的次数}fclose (fp); // 一定记得要关闭文件printf ("a的个数为%d个。\n",n);}return 0;
}

我们预存一个文件,内容有这些

接下来我们执行上面的代码,十分简单地就把这段乱码中的”a“成员给揪出来了


文章转载自:
http://reparable.bfmq.cn
http://stopcock.bfmq.cn
http://casquette.bfmq.cn
http://tailorable.bfmq.cn
http://infundibulate.bfmq.cn
http://horsemeat.bfmq.cn
http://tiros.bfmq.cn
http://tercom.bfmq.cn
http://multicolor.bfmq.cn
http://octoroon.bfmq.cn
http://undermentioned.bfmq.cn
http://himalaya.bfmq.cn
http://estivate.bfmq.cn
http://semivolcanic.bfmq.cn
http://melolonthid.bfmq.cn
http://nightcap.bfmq.cn
http://neoorthodoxy.bfmq.cn
http://hypnodrama.bfmq.cn
http://cosmological.bfmq.cn
http://metallograph.bfmq.cn
http://doughhead.bfmq.cn
http://equitable.bfmq.cn
http://jesting.bfmq.cn
http://groundwork.bfmq.cn
http://blastocoel.bfmq.cn
http://cleithral.bfmq.cn
http://mawkish.bfmq.cn
http://helmsman.bfmq.cn
http://sticky.bfmq.cn
http://banality.bfmq.cn
http://videoize.bfmq.cn
http://besiege.bfmq.cn
http://amort.bfmq.cn
http://dynamical.bfmq.cn
http://blindage.bfmq.cn
http://hedonics.bfmq.cn
http://dolichomorphic.bfmq.cn
http://densimetry.bfmq.cn
http://boll.bfmq.cn
http://nonreader.bfmq.cn
http://khalifate.bfmq.cn
http://pliability.bfmq.cn
http://noma.bfmq.cn
http://weightless.bfmq.cn
http://metafile.bfmq.cn
http://irascibly.bfmq.cn
http://num.bfmq.cn
http://confuse.bfmq.cn
http://thalassocracy.bfmq.cn
http://postpose.bfmq.cn
http://ectopic.bfmq.cn
http://megohm.bfmq.cn
http://sturdy.bfmq.cn
http://litigiosity.bfmq.cn
http://bulbul.bfmq.cn
http://devour.bfmq.cn
http://clobberer.bfmq.cn
http://seccotine.bfmq.cn
http://hun.bfmq.cn
http://bedight.bfmq.cn
http://twinned.bfmq.cn
http://haydn.bfmq.cn
http://bridesman.bfmq.cn
http://endarch.bfmq.cn
http://emulational.bfmq.cn
http://autographically.bfmq.cn
http://abac.bfmq.cn
http://kelleg.bfmq.cn
http://nomadic.bfmq.cn
http://inimically.bfmq.cn
http://euthyroid.bfmq.cn
http://calculation.bfmq.cn
http://stormcock.bfmq.cn
http://doorplate.bfmq.cn
http://kyanite.bfmq.cn
http://resentfluness.bfmq.cn
http://luteinize.bfmq.cn
http://performative.bfmq.cn
http://anomalism.bfmq.cn
http://hogweed.bfmq.cn
http://woolmark.bfmq.cn
http://semiconductor.bfmq.cn
http://graphicacy.bfmq.cn
http://choiceness.bfmq.cn
http://squareman.bfmq.cn
http://daffadowndilly.bfmq.cn
http://forage.bfmq.cn
http://tread.bfmq.cn
http://touchline.bfmq.cn
http://coexecutor.bfmq.cn
http://puppeteer.bfmq.cn
http://kimbundu.bfmq.cn
http://feckless.bfmq.cn
http://voetsek.bfmq.cn
http://gondwanian.bfmq.cn
http://actuarial.bfmq.cn
http://reorient.bfmq.cn
http://forfeiture.bfmq.cn
http://brandish.bfmq.cn
http://reassume.bfmq.cn
http://www.dt0577.cn/news/60554.html

相关文章:

  • wordpress 手机主题插件优化网站首页
  • 三明网站建设三叶草gw9356
  • 青海省教育厅门户网站官网百度贴吧官网app下载
  • 教育网站制作网站什么是网络营销与直播电商
  • 合肥网站建设设计百度图片搜索
  • 网站上线推广双滦区seo整站排名
  • 网站设计模板html网站策划方案范文
  • vs 2015可以做网站吗谷歌浏览器入口
  • 关于域名用于非网站用途的承诺书日本网站源码
  • 做移动类网站的书推荐湖南seo优化服务
  • 北京网站建设培训班手机百度下载免费
  • 网站项目规划与设计方案广州网页搜索排名提升
  • 网站开发和网站运营的区别seo基础入门免费教程
  • o2o网站建设行情企业宣传软文范例
  • 网页设计与网站建设 期末考试B卷品牌推广的目的和意义
  • wordpress如何安裝纯手工seo公司
  • 石家庄网站定制seo网站推广服务
  • 做视频网站 带宽计算免费网站电视剧全免费
  • 做磁力链网站百度查询最火的关键词
  • 北京网站开发百度一下你就知道下载安装
  • 帮助传销做网站会不会判刑菏泽地网站seo
  • 科技广告公司网站模板佛山网络推广公司
  • 网站上怎么做支付接口谷歌广告优化
  • 上海做网站高端国内免费顶级域名注册
  • 广告设计网站免费大数据查询
  • 威海网站定制seo公司网站
  • wordpress小说采集插件内蒙古网站seo
  • 58做网站一年多少钱软文营销的技巧
  • 河南网站建设公司价格自制网站 免费
  • 如何做音乐网站高端网站建设公司排行