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

北京企业官网网站建设哪家好全球十大搜索引擎排名

北京企业官网网站建设哪家好,全球十大搜索引擎排名,网站上的淘客组件是怎样做的,做网站切图尺寸一、fopen() FILE * fopen(const char * path, const char * mode); 参数 参数1:打开的文件路径及文件名称参数2:文件打开的方式 返回值 打开成功:返回文件指针打开失败:返回NULL。并把错误代码存在 error 中。 文件打开方式 r 以…

一、fopen()

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

参数

  • 参数1:打开的文件路径及文件名称
  • 参数2:文件打开的方式

返回值

  • 打开成功:返回文件指针
  • 打开失败:返回NULL。并把错误代码存在 error 中。

文件打开方式

r

以只读方式打开文件(若文件不存在打开失败)
r+以可读可写的方式打开文件(若文件不存在打开失败)
w以只写的方式打开文件。若文件存在则清空文件内容。若文件不存在则创建文件
w+以可读可写的方式打开文件。若文件存在则清空文件内容。若文件不存在则创建文件
a以附加的方式打开文件,只可写。若文件存在则写入的数据附加在源文件内容后面。若文件不存在则创建文件
a+以附加的方式打开可读可写文件

二、fclose()

int fclose( FILE *fp );

参数

  • 文件指针

返回值

  • 如果流关闭成功: 返回 0,
  • 如果流关闭失败:否则返回EOF(-1)

注意事项

  • 如果流为NULL,而且程序可以继续执行,fclose设定error number给EINVAL,并返回EOF
  • 文件关闭之后,文件光标移动到文件最前面

三、feof()

int feof(FILE *stream);

功能

  • 判断文件流是否到达文件尾部

返回值

  • 文件达到文件尾:返回非0值
  • 文件没达到文件尾:否则返回0。

注意

  • 文件结束符只能被clearerr()清除
#include<stdio.h>
int main(void)
{FILE *streamfopen("DUMMY.FIL", "r");fgetc(stream);if(feof(stream))printf("We have reached the end of file\n");fclose(stream);return 0;
}

四、ferror()

int ferror(FILE *stream);

功能

  • 判断文件是否出错

返回值

  • 未出错:如果ferror返回值为0(假)
  • 出错:返回一个非零值

注意

  • 对同一个文件每一次调用输入输出函数,均产生一个新的ferror函数值。因此,应当在调用一个输入输出函数后立即检查ferror函数的值,否则信息会丢失
  • 在执行fopen函数时,ferror函数的初始值自动置为0
#include<stdio.h>
int main(void)
{FILE*stream=fopen("DUMMY.FIL","w");(void)getc(stream);if(ferror(stream))/*testforanerroronthestream*/{printf("ErrorreadingfromDUMMY.FIL\n");clearerr(stream);}fclose(stream);return0;
}

五、rewind()

void rewind(FILE *stream);

功能

  • 将文件内部的位置指针(光标)重新指向一个流(数据流/文件)的开头

注意

  • 对同一个文件每一次调用输入输出函数,均产生一个新的ferror函数值。因此,应当在调用一个输入输出函数后立即检查ferror函数的值,否则信息会丢失
  • 在执行fopen函数时,ferror函数的初始值自动置为0
#include <stdio.h>
int main(void)
{FILE *fp=NULL;if(fp=fopen("1.txt,"r+")){fseek(fp,0,SEEK_END);printf("文件偏移:%d",ftell(fp));}rewind(fp);close(fp);return 0;
}

五、ftell()

long ftell(FILE *stream);

功能

  • 用于得到文件当前指针位置相对于文件首的偏移字节数

返回值

  • 返回当前文件指针相对于文件首的位移,位移为字节数

注意

  • 因为ftell返回long型,根据long型的取值范围-231~231-1(-2147483648~2147483647),故对大于2.1G的文件进行操作时出错

六、fseek()

int fseek(FILE *stream, long offset, int fromwhere);

功能

  • 把当前的文件流指针指定到指定的位置处

返回值

  • 如果执行成功:函数返回0
  • 如果执行失败:函数返回一个非0值

参数

  • 参数1:文件指针
  • 参数2:偏移量。正数表示正向偏移,负数表示负向偏移
  • 参数3:设定从文件的哪里开始偏移

参数3的取值

  • SEEK_SET: 文件开头(0)
  • SEEK_CUR: 当前位置(1)
  • SEEK_END: 文件结尾(2)
fseek(fp,100L,0); //把文件指针移动到离文件开头100字节处;
fseek(fp,100L,1); //把文件指针移动到离文件当前位置100字节处
fseek(fp,-100L,2); //把文件指针退回到离文件结尾100字节处

七、fgetpos()、fsetpos()

  • fseek和ftell所能操作的文件大小为long类型范围之类的,不能操作大文件。下面这两个函数就可以对大文件进行操作

fpos_t文件定位类型

  • 不是基本类型
  • fpos_t类型的对象可以在文件中指定一个位置
  • fpos_t定义的变量值以内部格式存储。仅由fgetpos和fsetpos使用
int fgetpos(FILE * restrict stream,fpos_t * restrict pos);

功能

  • 获得当前文件指针所处的位置,并把这个位置保存在参数2的pos变量中

参数

  • 参数1:文件流
  • 参数2:fpos_t类型的指针

返回值

  • 成功:返回0
  • 失败:返回一个非零值
 int fsetpos(FILE *stream, const fpos_t *pos);

功能

  • 将文件指针定位在pos指定的位置上

参数

  • 参数1:文件流
  • 参数2:fpos_t类型的指针

返回值

  • 成功:返回0
  • 失败:返回一个非零值
#include <stdlib.h>
#include <stdio.h>
void showpos(FILE *stream);
int main(void)
{FILE *stream;fpos_t filepos;stream = fopen("DUMMY.FIL", "w+");fgetpos(stream, &filepos);fprintf(stream, "This is a test");showpos(stream);if (fsetpos(stream, &filepos) == 0)showpos(stream);else{fprintf(stderr, "Error setting file pointer.\n");exit(1);}fclose(stream);return 0;
}
void showpos(FILE *stream)
{fpos_t pos;fgetpos(stream, &pos);printf("File position: %ld\n", pos);
}

八、fflush()

int fflush(FILE *stream);

功能

  • 会强迫将缓冲区内的数据写回参数stream指定的文件中
  • 如果参数stream为NULL,fflush()会将所有打开的文件数据更新

返回值

  • 如果成功刷新:返回0。指定的流没有缓冲区或者只读打开时也返回0值
  • 错误:返回EOF

注意

  • 如果fflush返回EOF,数据可能由于写错误已经丢失。当设置一个重要错误处理器时,最安全的是用setvbuf函数关闭缓冲或者使用低级I/0例程,如open、close和write来代替流I/O函数
printf("please enter:");
fflush(stdout);  //将缓冲区的数据都刷新到标准输出stdout中
ssize_t _s = read(0,buf,sizeof(buf)-1);

九、setvbuf()

int setvbuf(FILE *stream, char *buf, int type, unsigned size);

功能

  • 设置文件的缓冲区

参数

  • 参数1:处理的流指针
  • 参数2:待使用的存储区。可以为NULL(如果未NULL该函数会自动分配一个缓冲区)
  • 参数3:期望缓冲区的类型
  • 参数4:缓冲区内字节的数量

参数3的取值

  • _IOFBF(满缓冲):完全缓冲(在缓冲区满时才刷新)
  • _IOLBF(行缓冲):行缓冲(缓冲区慢时,或者向缓冲区写入一个换行符时刷新缓冲区)
  • _IONBF(无缓冲):无缓冲(没有缓冲区,直接从流中读入/写入数据)

返回值

  • 设置成功:返回0
  • 设置失败:返回非0值

注意

  • 打开文件之后且未对流进行其它操作之前调该函数
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{FILE *fp_src;char buffer[128],buff[10];int i;f((fp_src=fopen(argv[1],"r+"))== NULL){exit(EXIT_FAILURE);}setvbuf(fp_src,buffer,_IOLBF,128); //设置行缓冲区do{memset(buff,'\0',10);i = fread(buff,1,10,fp_src);}while(i==10);fclose(fp_src);
}
int main(int argc, char *argv[])
{FILE *fp_src;f((fp_src=fopen(argv[1],"r+"))== NULL){exit(EXIT_FAILURE);}setvbuf(fp_src,NULL,_IONBF,128); //设置无缓冲区fclose(fp_src);
}

 

http://www.hengruixuexiao.com/news/10711.html

相关文章:

  • 店铺推广是如何收费的seo排名第一的企业
  • 基于php网站开发小姐关键词代发排名
  • 买一个成品网站多少钱上海网站设计公司
  • 免费b2b网站推广嘿嘿哪个搜索引擎能搜敏感内容
  • 网站建设基本知识百度指数查询官网
  • 3d网站建设站长工具seo综合查询广告
  • seo案例网站建设哪家好网站权重查询工具
  • 怎么做网站搜索关键词磁力
  • 知名网站制作公司2022智慧树互联网与营销创新
  • 手机网站搭建平台北京网络seo经理
  • wordpress密码验证码seo指的是什么意思
  • wordpress替代2017优化网站搜索
  • 网站首页代码谷歌浏览器官网下载手机版
  • 无锡便宜做网站企业宣传文案
  • seo网站做推广百度竞价排名是以什么形式来计费的广告?
  • 自己做网站可以揽业务吗软文广告有哪些
  • 网站客服工作内容培训计划方案模板
  • 网站如何做口碑营销短视频seo询盘获客系统
  • 优秀网站建设多少钱抖音关键词排名推广
  • 昆山做网站的公司厦门seo关键词优化培训
  • 新疆建设网站首页百度seo优化技巧
  • 网站建设备案优化windows优化大师收费吗
  • 设计软件免费下载网站信息流优化师工作总结
  • wordpress自建表格北京优化推广公司
  • 三门峡集团网站建设成人短期技能培训
  • 网站开发工具sublimeseo入门教程网盘
  • 网站设计与制作合同如何点击优化神马关键词排名
  • 乌鲁木齐哪里可以做网站seo网络推广优化教程
  • 谷歌云 阿里云 做网站百度移动版
  • 海纳企业网站管理系统互联网销售公司