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

两个字的广告公司名字seo技术教程网

两个字的广告公司名字,seo技术教程网,成都seo推广,互联网服务平台登录该文章上一篇:C/C文件操作(细节满满,part1)_仍有未知等待探索的博客-CSDN博客 个人主页:仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客 专题分栏:C语言疑难_仍有未知等待探索的博客-CSDN博客 目录 …

该文章上一篇:C/C++文件操作(细节满满,part1)_仍有未知等待探索的博客-CSDN博客

个人主页:仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客

专题分栏:C语言疑难_仍有未知等待探索的博客-CSDN博客

目录

 

一、引言

二、文件的顺序

1、输入流和输出流

2、fputc

1.功能

2. 参数

3.用法

4.注意 

3、fgetc

1.功能 

2.参数

3.用法

4、fputs 

1、功能 

2、参数

3、用法

5、fgets 

​编辑 1、功能 

2、参数

3、用法

4、注意 

6、fprintf

1、功能 

2、参数

3、用法 

7、fscanf 

1、功能

2、参数

3、 用法

8、fwrite

​编辑

1、功能

2、参数

3、用法

4、注意 

9、fread 

1、功能

2、参数

3、用法

4、注意 

三、文件的随机读写

1、fseek

2、ftell 

3、rewind 

四、二进制文件和文本文件

五、文件读取结束的标志

1、文本文件读取结束标志

2、二进制文件读取结束标志

六、文件缓冲区


 

一、引言

通过上篇文章,已经了解了什么是文件打开和关闭文件的操作流的概念等。

如果对于上述的内容感到有点陌生了,不妨去看一看,文章链接在开头。

这篇文章的内容将会包含写文件的基本操作。

文件的顺序读写:是每次从第一个字符开始读和写。

文件的随机读写:是每次可以从任意一个位置读和写。

二、文件的顺序

适用文件功能函数名适用于
文本文件字符输入函数fgetc所有输入流
文本文件字符输出函数fputc所有输出流
文本文件文本行输入函数fgets所有输入流
文本文件文本行输出函数fputs所有输出流
文本文件格式化输入函数fscanf所有输入流
文本文件格式化输出函数fprintf所有输出流
二进制文件二进制输入fread文件
二进制文件二进制输出fwrite文件

1、输入流和输出流

流相当于是一个过渡的过程。怎么判上述函数是输入流还是输出流呢?

我们可以站在内存的视角来看,如果是数据流向内存,我们就可以看作是输入流。反之,则是输出流。

就以fgetc和fputc为例:

2、fputc

1.功能

将一个字符character写进stream流中。

2. 参数

character:字符(字符的本质就是ASCII码值,是整数)。

stream:文件指针。

3.用法

#include<stdio.h>
int main()
{//以‘只写’的方式打开文件FILE* pf = fopen("test.txt", "w");if (pf == NULL){perror("fopen");return 0;}//处理//输入for (int i = 'a'; i <= 'z'; i++)fputc(i, pf);//关闭文件fclose(pf);pf = NULL;return 0;
}

4.注意 

用什么方式打开文件就只能完成该功能。就比如说,以‘只写’的方式打开文件,就不能进行读取操作。

如果对于打开方式模糊了,请点击下面链接,查看上一篇的内容:

C/C++文件操作(细节满满,part1)_仍有未知等待探索的博客-CSDN博客

3、fgetc

1.功能 

 从stream流中获取数据。

2.参数

文件指针类型的stream流。

3.用法

如果获取失败,函数将返回EOF

//以‘只读’的方式打开文件FILE* pf = fopen("test.txt", "r");if (pf == NULL){perror("fopen");return 0;}//处理//输出int ch;while((ch=fgetc(pf))!=EOF){printf("%c ",ch);}//关闭文件fclose(pf);pf = NULL;return 0;
}

4、fputs 

1、功能 

将一个字符串写入流中。

2、参数

str:需要写入文件的参数。

stream:文件流。

3、用法

如果没有‘\n’的话,他会把数据输入在一行。 

如果把文件指针pf换成stdout的话,程序会把数据打印在屏幕上。

#include<stdio.h>
int main()
{//以‘只写’的方式打开文件FILE* pf = fopen("test.txt", "w");if (pf == NULL){perror("fopen");return 0;}//处理fputs("abcd", pf);//不换行写法fputs("abcd\n", pf);//换行写法fputs("abcd", stdout);//将数据打印在屏幕上//关闭文件fclose(pf);pf = NULL;return 0;
}

5、fgets 

 1、功能 

从流中获取字符串。

2、参数

str:字符串。

num:读取的个数。

stream:文件流。

3、用法

如果获取失败,函数将返回EOF

#include<stdio.h>
int main()
{//以‘只读’的方式打开文件FILE* pf = fopen("test.txt", "r");if (pf == NULL){perror("fopen");return 0;}//处理char str[20];fgets(str, 10, pf);printf("%s", str);//关闭文件fclose(pf);pf = NULL;return 0;
}

4、注意 

  1. 函数最多只会读取一行的数据。
  2. 当数据足够多时,参数为num,函数只会读取num-1个数据。

6、fprintf

1、功能 

将格式化数据写入文件流中。

2、参数

通过将fprintf和printf的参数相比较,会发现,fprintf的参数就比printf的参数多了一个文件指针。 

3、用法 

#include<stdio.h>
struct S
{float f;char ch;int n;
};
int main()
{struct S s = { 4.14f,'w',1 };//以‘只 写’的方式打开文件FILE* pf = fopen("test.txt", "w");if (pf == NULL){perror("fopen");return 0;}//处理printf("%f %c %d\n", s.f, s.ch, s.n);fprintf(pf,"%f %c %d\n", s.f, s.ch, s.n);//关闭文件fclose(pf);pf = NULL;return 0;
}

7、fscanf 

1、功能

从流中读取数据。

2、参数

fscanf和scanf的参数差不多,多了一个文件流stream。

3、 用法

#include<stdio.h>
struct S
{float f;char ch;int n;
};
int main()
{struct S s = { 4.14f,'r',1 };FILE* pf = fopen("test.txt", "r");if (pf == NULL){perror("fopen");return 0;}//处理fscanf(pf, "%f %c %d", &(s.f), &(s.ch), &(s.n));printf("%f %c %d", s.f, s.ch, s.n);//关闭文件fclose(pf);pf = NULL;return 0;
}

8、fwrite

1、功能

将ptr中的数据写入流中,大小为size,个数为count。

2、参数

ptr:指向要写入文件流中的数据的指针。

size:每个数据的大小。

count:数据个数。

stream:要写入的文件流中。

3、用法

#include<stdio.h>
int main()
{FILE* pf = fopen("test.txt", "wb");//abcdefif (pf == NULL){perror("fopen");return 0;}//处理char str[] = "abcd";fwrite(str, sizeof(char), sizeof(str) / sizeof(str[0]), pf);//关闭文件fclose(pf);pf = NULL;return 0;
}

4、注意 

文件的打开方式要和函数匹配,要用二进制的写的方式

9、fread 

1、功能

从文件流中读取数据。

2、参数

ptr:指向文件流中的数据所要存到的位置的指针。

size:每个数据的大小。

count:数据个数。

stream:文件流。

3、用法

#include<stdio.h>
int main()
{FILE* pf = fopen("test.txt", "rb");//abcdefif (pf == NULL){perror("fopen");return 0;}//处理char str[20];fread(str, sizeof(char), sizeof(str) / sizeof(str[0]), pf);printf("%s", str);//关闭文件fclose(pf);pf = NULL;return 0;
}

4、注意 

文件的打开方式要和函数匹配,要用二进制的读的方式

三、文件的随机读写

根据文件指针的位置和偏移量来确定文件指针的位置。

文件指针当前位置
SEEK_SETBeginning of file
SEEK_ENDCurrent position of the file pointer
SEEK_CUREnd of file

1、fseek

 功能是改变文件指针的位置。

#include<stdio.h>
int main()
{FILE* pf = fopen("test.txt", "r");//abcdefif (pf == NULL){perror("fopen");return 0;}//处理int ch;ch = fgetc(pf);//aprintf("%c\n", ch);ch = fgetc(pf);//bprintf("%c\n", ch);ch = fgetc(pf);//cprintf("%c\n", ch);fseek(pf, -1, SEEK_CUR);ch = fgetc(pf);printf("%c\n", ch);//c//关闭文件fclose(pf);pf = NULL;return 0;
}

2、ftell 

功能是返回文件当前指针的偏移量。

#include<stdio.h>
int main()
{FILE* pf = fopen("test.txt", "r");//abcdefif (pf == NULL){perror("fopen");return 0;}//处理int ch;ch = fgetc(pf);//aprintf("%c\n", ch);ch = fgetc(pf);//bprintf("%c\n", ch);ch = fgetc(pf);//cprintf("%c\n", ch);int pos = ftell(pf);printf("%d", pos);//关闭文件fclose(pf);pf = NULL;return 0;
}

3、rewind 

功能是将文件指针返回起始位置。

#include<stdio.h>
int main()
{FILE* pf = fopen("test.txt", "r");//abcdefif (pf == NULL){perror("fopen");return 0;}//处理int ch;ch = fgetc(pf);//ach = fgetc(pf);//bch = fgetc(pf);//cint pos = ftell(pf);printf("%d\n", pos);rewind(pf);pos = ftell(pf);printf("%d", pos);//关闭文件fclose(pf);pf = NULL;return 0;
}

四、二进制文件和文本文件

根据数据的存储形式,文件可以分为二进制文件和文本文件。

数据在文件中以二进制存储,就是二进制文件。

数据在文件中以ASCII码值存储,就是文本文件。

五、文件读取结束的标志

在文件读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束。

1、文本文件读取结束标志

fgetc——判断是否为EOF

fgets——判断是否为NULL

2、二进制文件读取结束标志

fread——判断返回值是否小于实际要读的个数。

六、文件缓冲区

谢谢大家支持! 

http://www.ds6.com.cn/news/108027.html

相关文章:

  • js模版网站成人技术培训班有哪些种类
  • 双语网站建设公司国外网站排名前十
  • 建站公司转型做什么业务的搜索引擎优化
  • 做网站什么内容深圳网站seo优化公司
  • 网站优化怎么做邵阳seo排名
  • 如何打开网页源代码北京网站优化外包
  • .net网站开发实训代码抖音seo是什么意思
  • 如何将图片生成网址谷歌seo排名
  • html5门户网站模版百度app首页
  • 做网站的背景怎么做如何创建自己的卡网
  • 怎么做网站的投票平台模板建网站价格
  • 如何快速做单页面网站郑州seo优化推广
  • wordpress后台代码seo优化方案模板
  • 日本做任务赚钱的网站seo网站排名优化公司哪家
  • 兼职网站编辑怎么做百度开户流程
  • 济南seo网站建设徐州seo推广优化
  • 做音乐网站要什么源码uc浏览器网页版入口
  • 做网站用python还是php做一个推广网站大概多少钱
  • 与有权重网站做友链seo快速排名工具
  • 海南网站公司手机app开发
  • 网页无法访问百度网站优化公司上海
  • 网站策划怎么写合肥网站设计
  • 网站自动识别移动终端南宁百度seo
  • 网站建设教程下载百度指数上多少就算热词
  • 昆明做企业网站多少钱网络推广网站排名
  • 做软件需要网站企业网站推广的一般策略
  • 傻瓜式wordpress宁德seo公司
  • 网站返利二维码怎么做南通网络推广
  • 网站备案的是空间还是域名企业培训的目的和意义
  • 南京做代账会计在哪个网站上找什么叫网络营销