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

空间设计网站yahoo搜索引擎

空间设计网站,yahoo搜索引擎,代做企业网站,哪个公司的网站做的好目录 文件操作 1.1 文件操作 1.2 文件操作的数据传输形式 1.3 文件操作的分类 1.4 文件存储格式 1.5 文件流指针 1.6 函数名:fopen() 1.7 函数名:fclose() 1.8 函数名:fprintf() 1.9 函数名:fscanf() 1.10 函数名&…

目录

文件操作

1.1 文件操作

1.2 文件操作的数据传输形式

1.3 文件操作的分类

1.4 文件存储格式

1.5 文件流指针

1.6 函数名:fopen()

1.7 函数名:fclose()

1.8 函数名:fprintf()

1.9 函数名:fscanf()

1.10 函数名:fseek()

1.11 函数名:feof()

1.12 示例

1.13 练习

1.14 函数名:fwrite()

1.15 函数名:fread()

1.16 函数名:ftell()

1.17 函数名:rewind()

1.18 函数名:fputs()

1.19 函数名:fgets()

1.20 函数名:fputc()

1.21 函数名:fgetc()

1.22 函数名:remove()


文件操作

1.1 文件操作

        1.创建、打开文件---默认情况下光标在文件开头,也可以采用追加,光标在文件末尾

        2.读写---通过光标进行定位,光标会跟随移动,写入内容只有覆盖模式

        3.关闭文件

1.2 文件操作的数据传输形式

数据的写入:从内存到硬盘

数据的读取:从硬盘到内存

1.3 文件操作的分类

基于缓冲区的文件操作---高级IO---基于低级IO实现的函数封装

基于非缓冲区的文件操作---低级IO---Linux系统编程阶段---内核函数

1.4 文件存储格式

Linux文件类型:d - p l s c b

文件后缀:文件的打开方式

文件存储格式:ASSIC码存储、二进制存储

1.5 文件流指针

FILE *fp;

文件打开成功后,fp在后续操作中就代表该文件

1.6 函数名:fopen()

 函数原型:FILE *fopen(const char *pathname, const char *mode);

函数功能:打开文件

函数参数:const char *pathname:路径/文件名的字符串

                  const char *mode:打开方式,填入常量字符串 

                  r 读 打开旧文件 

                  w 写 创建新文件 

                  a 追加 打开旧文件/创建新文件 

                  + 扩展功能

                        “r” 只读 “r+” 读写 

                        “w” 只写 “w+” 读写 

函数返回值:打开成功,返回文件流指针,打开失败,返回 NULL

函数使用:

                FILE *fp = fopen(“./1.txt”, “w+”); 

1.7 函数名:fclose()

函数原型:int fclose(FILE *stream);

函数功能:关闭文件

函数参数:FILE *stream:文件流指针

函数返回值:成功返回 0,失败返回 EOF/-1

函数使用:

        fclose(fp);

1.8 函数名:fprintf()

函数原型:int fprintf(FILE *stream, const char *format, ...);

函数功能:格式化写入

函数参数:FILE *stream:文件流指针

const char *format, ... :同 printf()

函数返回值:输出的字符个数

函数使用:

fprintf(fp, “hello\n”);

1.9 函数名:fscanf()

函数原型:int fscanf(FILE *stream, const char *format, ...);

函数功能:格式化读取

函数参数:FILE *stream:文件流指针 const char *format, ... :同 scanf()

函数返回值:返回值返回格式控制符获取到的数据个数

函数使用:

1.10 函数名:fseek()

函数原型:int fseek(FILE *stream, long offset, int whence);

函数功能:移动光标

函数参数:FILE *stream:文件流指针

long offset:偏移量 正数向后偏移 负数向前偏移

int whence:基准位置

0 文件开头 SEEK_SET

1 当前位置 SEEK_CUR

2 文件末尾 SEEK_END

函数返回值:成功返回 0,失败返回-1

函数使用:

fseek(fp,0,0);

fseek(fp,-2,2);

1.11 函数名:feof()

函数原型:int feof(FILE *stream);

函数功能:判断光标是否在文件末尾

函数参数:FILE *stream:文件流指针

函数返回值:如果在末尾是非 0,不在末尾是 0

函数使用:

while(a[i]!=0)

while(feof(fp)==0) 判断光标是否在文件末尾

{

fscanf();

}

1.12 示例

#include <stdio.h>
#include <string.h>
int main()
{char path[30] = {0};printf("输入文件名:\n");gets(path);FILE *fp = fopen(path, "w+"); if(fp == NULL){perror("fopen");return 0;}fprintf(fp, "hello\n");char a[30] = {0};scanf("%s", a);fprintf(fp, "%s\n", a);//rewind(fp);fseek(fp, -(strlen(a)+1), SEEK_CUR);char b[30] = {0};fscanf(fp, "%s\n", b);printf("%s\n", b);char c[30] = {0};fscanf(fp, "%s\n", c);printf("%s\n", c);fclose(fp);return 0;
}

1.13 练习

1. 向文件 stu.xlsx 中写入几个姓名学号

比如:

        张三 1 

        李四 2

#include <stdio.h>
int main()
{FILE *fp = fopen("./stu.xlsx", "w");if(fp == NULL){perror("fopen");return 0;}fprintf(fp, "%s\t%d\n", "张三", 1);fprintf(fp, "%s\t%d\n", "李四", 2);fclose(fp);return 0;
}

2. 从文件中把信息读取出来保存到数组中,然后打印

#include <stdio.h>
struct info{char name[20];int id;
};
struct info stu[50];
int main()
{FILE *fp = fopen("./stu.xlsx", "r");if(fp == NULL){perror("fopen");return 0;}//rewind(fp);fseek(fp, 0, 0);int i = 0;while(feof(fp) == 0){fscanf(fp, "%s\t%d\n", \stu[i].name, &stu[i].id);i++;}for(int j=0; j<i; j++){printf("%s\t%d\n", \stu[j].name, stu[j].id);}fclose(fp);return 0;
}

1.14 函数名:fwrite()

函数原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);

函数功能:块写

函数参数:const void *ptr:数据块的起始地址

size_t size:数据块大小

size_t nmemb:数据块数量

FILE *stream:文件流指针

函数返回值:返回写入的块数量

函数使用:

#include <stdio.h>
int main()
{FILE *fp =fopen("9.txt","w+");if(fp == NULL){perror("fopen");return 0;}int a[5]={1,2,3,4,5};fwrite(a,10,2,fp);fclose(fp);return 0;
}

1.15 函数名:fread()

函数原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

函数功能:块读

函数参数:const void *ptr:数据块的起始地址

size_t size:数据块大小

size_t nmemb:数据块数量

FILE *stream:文件流指针

函数返回值:返回读取的块数量

函数使用:

#include <stdio.h>
int main()
{FILE *fp =fopen("9.txt","r+");if(fp == NULL){perror("fopen");return 0;}fseek(fp,4,SEEK_SET);int a[5]={0};fread(a,2,10,fp);for(int i=0;i<5;i++){printf("%d\n",a[i]);}fclose(fp);return 0;
}

1.16 函数名:ftell()

函数原型:long ftell(FILE *stream);

函数功能:用于定位光标当前所在位置

函数参数:FILE *stream:文件流指针

函数返回值:返回光标当前所在位置(距离文件开头的字节数)

函数使用:

ftell(fp);

1.17 函数名:rewind()

函数原型:void rewind(FILE *stream);

函数功能:把光标移动到文件开头

函数参数:FILE *stream:文件流指针

函数返回值:无

函数使用:

rewind(fp); == fseek(fp,0,0);

1.18 函数名:fputs()

函数原型:int fputs(const char *s, FILE *stream);

函数功能:向文件写入一个字符串

函数参数:const char *s:字符串首地址

FILE *stream:文件流指针

函数返回值:字符串的字符个数

函数使用:

1.19 函数名:fgets()

函数原型:char *fgets(char *s, int size, FILE *stream);

函数功能:从文件读取 size-1 个字符,字符串形式

函数参数:char *s:字符串保存的位置

int size:读取的字符个数(因为是获取字符串,所以会消耗一个空间保存’\0’)

FILE *stream:文件流指针

函数返回值:成功返回 s 的值

函数使用:

#include <stdio.h>
int main()
{FILE *fp =fopen("10.txt","w+");if(fp == NULL){perror("fopen");return 0;}
char a[10]="hello";fputs(a,fp);char buff[10]={0};rewind(fp);fgets(buff,6,fp);puts(buff);char b[30]={0};fgets(b,30,stdin);fputs(b,stdout);fclose(fp);return 0;
}

1.20 函数名:fputc()

函数原型:int fputc(int c, FILE *stream);

1.21 函数名:fgetc()

函数原型:int fgetc(FILE *stream);

1.22 函数名:remove()

函数原型:int remove(const char *pathname);

函数功能:删除文件

http://www.dtcms.com/a/423465.html

相关文章:

  • 网站建设合同英文软件外包公司名单
  • Java基础(①Tomcat + Servlet + JSP)
  • 连云港百度推广总代理上海谷歌seo公司
  • ssl外贸网站网站空间托管
  • k8s kubelet 10250监控端口访问配置
  • 十二、伪分布式配置
  • VScode通过跳板机连接内网服务器
  • wordpress小说下载站建设银行网站如何下载u盾
  • 餐饮行业做微信网站有什么好处网站上图怎么用ps做
  • 设计的网站都有哪些功能辛集哪做网站
  • PostgreSQL的逻辑复制spill溢出案例和启停库逻辑
  • OpenMQTTGateway 技术全解:统一多协议到 MQTT 的开源网关
  • 数据结构——二叉树学习
  • 动规:回文串问题
  • PostgreSQL WAL 日志发展史 - pg7
  • 商丘企业网站建设团队网站设计的内容以及步骤
  • 网站域名所有人wordpress 子域名
  • ListenHub:AI播客平台,一句话生成播客
  • 知名的媒体发稿代理有哪些
  • PyTorch nn.Linear 终极详解:从零理解线性层的一切(含可视化+完整代码)
  • 大型企业级金融信贷平台需求报告
  • 【算法】小点:List.remove
  • 文件扩展名.js .jsx .ts .tsx区别(JavaScript扩展名、React扩展名、TypeScript扩展名)
  • MySQL 在金融系统中的应用:强一致性与高可用架构实战
  • 销售型网站营销目标查网址是否安全
  • 媒体发稿平台如何选
  • 靠谱的综合门户媒体发稿如何选
  • 学习:uniapp全栈微信小程序vue3后台(29)
  • 装修设计网站排名新浪短网址链接
  • kali 01——安装及简要介绍