C 语言标准 I/O 函数介绍以及演示程序
来源:互联网 发布:淘宝评价语大全 编辑:程序博客网 时间:2024/06/05 20:18
//送佛送到西,好人做到底
//使用 C/c++ 标准库实现
/*C 语言标准 I/O 函数介绍
1. 库文件
一般位于 <stdio.h> 或者 <fcntl.h> 库中
2. 函数介绍
2.1 FILE * fopen(const char * filepath,const char * type);
打开文件
主要有模式有
b -> 按字节流
w -> 清除原来文件内容写文件或者创建文件
a -> 追加文件
r -> 读文件
这些函数可以组合使用
成功 返回不为空,失败为空,
2.2. int fclose()
关闭文件
成功 返回为0,失败为 EOF
2.3 int fread(void * buff,size_t size,size_t nobj,FILE * fp);
int fwrite(const void * buff,size_t size,size_t nobj,FILE * fp);
文件读写函数
buff 是存储内容的缓冲
size 是结构的 sizeof() 所得
nobj 是表示读写的次数
fp 是文件指针
fread 读文件时, ret < nobj 有两种情况,碰到文件结束或者出现错误
fwrite 写文件时,ret < nobj 就是出现错误
2.4 int feof(FILE *fp);
文件结束检测函数,只有在读取操作后,feof 才置位,默认是 false。
如文件结束,则返回值为非0,否则为0
2.5 int ferror(FILE *fp)
读写文件出错检测函数
返回值为0表示未出错,否则表示有错
2.6 void clearerr(FILE *fp)
文件出错标志和文件结束标志置0函数函数
用于清除出错标志和文件结束标志,使它们为0值
3. 演示代码
下面代码通过复制一个文件,很好的演示了上面函数的调用,请研读.
void filecopy()
{
std::string srcfile = "c://test.rar";
std::string destfile = "c://bbb.rar";
FILE *fpsrc = fopen(srcfile.c_str(),"r+b");
if(fpsrc == NULL)
{
//打开文件失败
return;
}
FILE *fpdest = fopen(destfile.c_str(),"w+b");
if(fpdest == NULL)
{
//创建文件或者清除文件内容失败
fclose(fpsrc);
return;
}
while(feof(fpsrc) == 0)
{
char buff[1024 * 64];
memset(buff,0,sizeof(buff));
int readlen = fread(buff,sizeof(char),sizeof(buff),fpsrc);
if(readlen < sizeof(buff))
{
if(ferror(fpsrc))
{
//读取出现错误
fclose(fpsrc);
fclose(fpdest);
}
}
if(fwrite(buff,sizeof(char),readlen,fpdest) < readlen)
{
//写错误
fclose(fpsrc);
fclose(fpdest);
}
}
fclose(fpsrc);
fclose(fpdest);
}
- C 语言标准 I/O 函数介绍以及演示程序
- 理解C语言标准I/O函数
- C语言标准I/O
- C语言标准I/O函数及其特点总结
- c函数之【标准I/O函数】
- C语言标准I/O文件操作
- C语言_标准I/O库
- 标准 C I/O 之 clearerr() 函数
- 标准 C I/O 之 fclose 函数
- 标准 C I/O 之 feof() 函数
- 标准 C I/O 之 ferror () 函数
- 标准 C I/O 之 fflush () 函数
- 标准 C I/O 之 fgetc() 函数
- 标准 C I/O 之 fgetpos () 函数
- 标准 C I/O 之 fgets () 函数
- 标准 C I/O 之 fopen () 函数
- 标准 C I/O 之 fprintf () 函数
- 标准 C I/O 之 fputc () 函数
- 很有用的十条忠告
- 61条面向对象设计的经验原则
- 英文学习网站
- 简单的循环嵌套题目
- JFCUnit的一个例子(LoginScreen,补充JFCUnit的文档的例子)
- C 语言标准 I/O 函数介绍以及演示程序
- 世界杯外的广告 – 为第n次练习干杯
- std::vector::erase
- Sun Solaris上安装多JDK
- java操作文件常用方式
- WEB-INF目录名小写导致不能运行JSP网页
- 在JavaScript中实现继承
- 好书推荐
- 李冰冰的一张照片!