当前位置: 首页 > 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.yayakq.cn/news/76700/

相关文章:

  • 用jsp做电影网站的界面公司网站打不开是什么原因
  • 如何维护网站用织梦做的网站是模板的吗
  • 浏览器网站免费进入成都网站建设上市
  • 中铁中基建设集团网站南京微网站开发
  • 淘宝网站用什么语言做的南充哪里做网站
  • 山楼小院在哪家网站做宣传东莞网站建设公司直播
  • 章丘市建设局网站南沙哪有做网站的
  • wordpress模板 门户网站学软件开发学费多少钱
  • 深圳做网站建设百度关键词优化怎么做
  • 成都网站建设福州青海西宁制作网站公司
  • 网站建设愿景外贸公司英文网站建设
  • 建设银信用卡网站首页黄埔网站建设 信科网络
  • 阿迪网站建设规划书网站开发遇到的困难总结
  • 网络推广经典和常用的方法关键词排名优化公司地址
  • 长春网长春网站建设络推广电子工程师社区
  • 自媒体图片素材网站北京关键词快速排名
  • 网店推广网站建立什么本地网站赚钱
  • 国外门户网站有哪些常州网站建设教程
  • 陕西网站推广公司一台云服务器多少钱
  • 网站建设数据库ER图怎么画代码实现wordpress百度地图
  • 什么兼职网站可以做视频剪辑微信小游戏源码
  • 欧美模板网站建设网站推广计划
  • 天津哪里有做网站的公司seo导航站
  • 北京软件开发培训机构wordpress手机版优化
  • 区块链交易网站建设建个什么网站赚钱
  • 网站建设 标书app程序开发用什么编程
  • 做冒菜店网站青岛北京网站建设公司哪家好
  • 南阳专业做网站公司哪家好wordpress 注册页修改
  • 什么网站可以查建设用地规划许可证动漫wordpress主题
  • 宁波网站开发公司怎么样郑州妇科医院排行榜