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

上海网站搭建公司哪家好安阳网站如何做优化

上海网站搭建公司哪家好,安阳网站如何做优化,注册海外公司,上海闵行刚刚发生的所涉及到的函数如下&#xff1a;<stdio.h> 函数介绍网站&#xff1a;cplusplus.com - The C Resources Network 读写文件之前要先打开文件&#xff0c;使用完要关闭文件归返空间&#xff1a; fopen 打开 fclose 关闭 返回的是FILE*型&#xff0c;第一个参数是文…

所涉及到的函数如下:<stdio.h>

函数介绍网站:cplusplus.com - The C++ Resources Network

读写文件之前要先打开文件,使用完要关闭文件归返空间:

fopen    打开

fclose   关闭

返回的是FILE*型,第一个参数是文件的名字,第二个参数是以什么形式打开。

一、写入一个字符

第一个参数是要写进的字符,第二个是目标地址,写进一次会前进一次,不会直接覆盖在第一个

#include<stdio.h>
#include<string.h>
#include<errno.h>// 写一个字符 "A"
int main()
{// 以写的形式打开 名为test.txt的文件FILE* p = fopen("test.txt", "w");// 判断是否成功if (p == NULL){printf("%s\n", strerror(errno));return 1;}// 写入一个字符 fputc('A', p);//再写一个foutc('B',p);//关闭文件fclose(p);p = NULL;return 0;
}

二、读出一个字符

从stream 里面读取一个字符,返回值就是这个字符,如果读到尾部或者发生错误,会返回EOF

// 读一个字符
int main()
{// 以读的形式打开FILE* p = fopen("test.txt","r");// 判断是否成功if (p == NULL){printf("%s\n", strerror(errno));return 1;}// 读取一个字符char pc = fgetc(p);printf("%c\n", pc);//关闭文件fclose(p);p = NULL;return 0;
}

三、写入一行文本

“w” 形式打开文件会清除里面原有的信息

将 str 指向的数据拷贝到 stream指向的地址,直到读到  '\0'

int main()
{// 以写的形式打开一个文件FILE* pt = fopen("test.txt", "w");// 判断是否成功if (pt == NULL){printf("%s\n", strerror(errno));return 1;}// 写入字符串char arr[] = "hello ";fputs(arr,pt);fputs("baby!\n", pt);// 此时文件里面 只有hello 和 baby!// 关闭文件fclose(pt);pt = NULL;return 0;
}

四、读一行文本

跟 fputs 差不多,多了一个限制,num 是读取个数,读到n-1 处或者读到新的一行停止

int main()
{// 以读的形式打开一个文件FILE* pt = fopen("test.txt", "r");// 判断是否成功if (pt == NULL){printf("%s\n", strerror(errno));return 1;}// 读取char arr[] = {0};fgets(arr, 10, pt);printf("%s", arr);// 关闭文件fclose(pt);pt = NULL;return 0;
}

五、格式化输出

(输入输出都是相对于内存的,打印到文件里,相当于输出;从文件获取信息,相当于输入)

跟printf 类似,多了一个输出的对象,就是格式化将数据打印到 stream 指向的文件里

struct ps
{char arr[20];int i;float f;
};int main()
{struct ps x = { "mylove",20,1.68f };// 打开文件,写的形式FILE* op = fopen("test.txt", "w");//判断 是否成功if (op == NULL){perror("fopen");return 1;}// 写入文件(打印到文件)fprintf(op, "%s %d %f", x.arr, x.i, x.f);// 打印到屏幕 (stdout 是标准输出流,【屏幕】)fprintf(stdout, "%s %d %f", x.arr, x.i, x.f);// 关闭文件fclose(op);op = NULL;return 0;
}

六、格式化输入

类似 scanf  ,从stream指向的文件,按照format的格式化读出数据

struct ps
{char arr[20];int i;float f;
};
int main()
{struct ps bobo = {0};// 打开文件 读rFILE* qp = fopen("test.txt", "r");// 判断……// 读 文件内容fscanf(qp, "%s %d %f", bobo.arr, &(bobo.i), &(bobo.f));printf("%s %d %f", bobo.arr, bobo.i, bobo.f);// 关闭文件fclose(qp);qp = NULL;return 0;
}

七、二进制输出(只针对于文件)

prt指向的对象是 被掏空的对象,stream指向的是要收获的对象

size 是输出元素的大小

count  是输出的个数

struct Peo
{char name[20];int age;float high;
};// fwrite  二进制写  "wb"int main()
{struct Peo s = { "lisi",20,180.5f };//打开文件FILE* ps = fopen("test.txt", "wb");//判断是否成功……// 写入fwrite(&s, sizeof(struct Peo), 1, ps);//关闭文件fclose(ps);ps = NULL;return 0;
}

八、二进制输入

参数和 fwrite函数 一样,不过这次风水轮流转,是从 stream指向的里面复制一份给ptr指向的地方

struct Peo
{char name[20];int age;float high;
};int main()
{struct Peo rp = { 0 };//打开文件FILE* pp = fopen("test.txt", "rb");// 判断……// 读入数据fread(&rp, sizeof(rp), 1, pp);printf("%s %d %f", rp.name, rp.age, rp.high);return 0;
}

scanf 、printf 家族大比拼
scanf针对 标准输入 的格式化输入语句
printf针对 标准输出 的格式化输出语句
fscanf针对 所有输入流 的格式化输入语句
fprintf针对 所有输出流 的格式化输出语句
sscanf从一个字符串中转化出一个格式化的数据
sprintf把一个格式化的数据转化为字符串

FILE* stdin标准输入流(键盘)
FILE* stdout标准输出流(屏幕)
FILE* stderr标准错误流(屏幕)

九、文件的随机读写

1、fseek 函数

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

2、ftell 函数

计算偏移量(以文件头作为参照)

【什么是偏移量?】,就是相当于最开始的位置左移右移多少。

3、rewind  函数

回到文件头

//1、fseek 根据文件指针的偏移量和位置来定位文件指针
//2、ftell计算偏移量  
//3、rewind 回到文件起始位置
int main()
{// 打开文件FILE* pc = fopen("test.txt", "r");// 判断if (pc == NULL){perror("fopen");return 1;}// 文件内容:ABCDEFGHIJKLMN!//  偏移3,从最开始fseek(pc,2, SEEK_SET);int ar = fgetc(pc);printf("%c\n", ar);// 偏移2,从现在的位置fseek(pc,2, SEEK_CUR);ar = fgetc(pc);printf("%c\n", ar);// 偏移3,从末尾开始fseek(pc, -6, SEEK_END);ar = fgetc(pc);printf("%c\n", ar);// 计算偏移量printf("%d\n", ftell(pc));// 返回最初的位置rewind(pc);ar = fgetc(pc);printf("%c\n", ar);// 关闭文件fclose(pc);pc = NULL;return 0;
}

结果:C   F   L   12    A

fgetc 函数的特点:读取一个字符后往后走一步。

十、文件读取结束的判定

文件文本读取是否结束,判断返回值

fgetc

 判断是否为  EOF

fgets判断是否为  NULL
fread判断返回值是否  小于实际要读取的个数

feof 函数 &&  ferror 函数

结束的原因
feof判断 是不是 到  末尾  
ferror判断 是不是  遇到  错误

// feof && ferrorint main()
{char arr[20] = { 0 };// 打开文件 二进制读FILE* pc = fopen("test.txt", "rb");// 判断……//读取int n=fread(arr, 1, 5, pc);if (n == 5){// 不一定读取到末尾puts("读取成功\n");}else{// n!= 5, 说明读取结束,末尾或者发生错误if (feof(pc))printf("读到末尾\n");else if (ferror(pc))printf("发生错误,读取失败\n");}// 关闭文件fclose(pc);pc = NULL;return 0;
}

十一、文件缓冲区

如果想要赶快将数据送入文件里,可以刷新缓冲区 【fflush 函数】,

关闭文件(fclose)时也会刷新缓冲区。

http://www.bjxfkj.com.cn/article/108568.html

相关文章:

  • 成都网站开发环球中心wordpress主题带卡密
  • 北京企业建站模板树莓派做网站服务器怎样
  • 定制搭建网站淮安软件园哪家做网站
  • 做章的网站五八同城网站开发了多久
  • 学做效果图的网站濮阳县网
  • 做外贸一般上什么网站中国电信的视频播放器
  • 部队网站建设报告微官网和移动网站区别吗
  • 南京电信网站备案南沙网站建设方案
  • 网站运营和管理美丽阿坝网站怎么做
  • 外国电商设计网站有哪些问题一个小外贸公司怎么开
  • 网站菜单代码企业局域网的搭建与配置
  • mvc 做网站家居设计案例
  • 网站推广seo系统wordpress间文章同步
  • 网站迁移长沙品牌设计公司
  • 扁平网站欣赏哪些软件属于网页制作工具
  • 网站环境配置wordpress移植
  • 辽宁省水利建设市场信用信息平台网站江苏自助建站系统哪家好
  • 合肥网站建站工作室wordpress过滤机制
  • 网站建设考核表网站如果不续费会怎样
  • 黄山网站建设企业网站建设的研究开发方法及技术路线
  • 怎么写网站文案免费自助开通网站
  • 抖音小程序官网aso优化服务
  • 建立专业的官方网站苏州调查公司有哪些
  • 手机网站建设推荐邯郸百度公司地址
  • 杭州网站开发工程师创造网站软件
  • 传奇新开网站服wordpress 示例页面
  • 在哪租用网站北京和田合瑞建设有限公司网站
  • 石家庄正定新区建设局网站亚马逊新店投广告是免费的吗
  • 网站建设中 英文公司网站后台登陆
  • 襄阳购物网站开发设计用DW做的网站怎么分享给别人