文件IO编程九
来源:互联网 发布:蓝硕移动硬盘mac 编辑:程序博客网 时间:2024/05/16 02:45
(1) fgetc/getc/getchar 详解
函数:int fgetc(FILE *stream);
说明:fgetc()从参数stream所指的文件中读取一个字符,若读到文件尾而无数据时则返回EOF。正常情况下是返回该值
函数:int getc(FILE *stream);
说明:与fgetc()的区别就是fgetc()是函数调用,而getc()是宏,它会相对比较快速。但是普通的程序比较短,没什么区别
函数:getchar()
说明:它规定是从键盘输入
共同点:它都是输入一个字符,一般是用于读取文本文件,而不作用于二进制文件。
(2)fputc/putc/putchar 详解
函数:int fputc(int c, FILE *stream);
说明:fputc()会将参数c转为unsigned char后再写入参数stream所指的文件,它会返回成功写入的字符(参数c),若返回EOF则代表写入失败。与fgetc()对应。
其余两个函数亦如此,和上面的函数对应。
(3) feof/ferror 详解
函数:int feof(FILE *stream);
说明:feof()用来侦测是否读到了文件尾,尾数stream为fopen()所返回的文件指针。如果已到文件尾则返回非零值,其他情况返回0。
程序:
int main(int argc, char const **argv[])
{
if(argc != 3)
{
printf("Usage: %s <src> <dst>\n", argv[0]);
exit(1);
}
FILE *fp_src = fopen(argv[1], "r");
if(fp_src == NULL)
{
fprintf(stderr, "fopen(%s) failed: %s\n", argv[1], strerror(errno));
exit(1);
}
FILE *fp_dst = fopen(argv[2], "w");
if(fp_dst == NULL)
{
fprintf(stderr, "fopen(%s) failed: %s\n", argv[2], strerror(errno));
exit(1);
}
int c;
while(1)
{
c = fgetc(fp_src);
if(c == EOF)
{
if(feof(fp_src)) //达到文件尾
break;
if(ferror(fp_src)) //遇到错误
{
perror("fgetc() failed");
break;
}
}
fputc(c, fp_dst);
}
return 0;
}
- 文件IO编程九
- python学习笔记(九) - IO编程
- 文件IO操作编程
- Linux文件IO编程
- 文件IO编程
- 文件IO编程一
- 文件IO编程二
- 文件IO编程三
- 文件IO编程四
- 文件IO编程五
- 文件IO编程六
- 文件IO编程七
- 文件IO编程八
- 文件IO编程十
- 文件IO编程十一
- 文件IO编程十二
- Linux文件---文件IO编程
- linux c编程 文件IO
- Android使用OpenCV CamShift实现目标追踪
- Oracle 11g的网络配置
- TCP流量与拥塞控制 就是这么简单
- Android 官网Train阅读记录——7
- OpenCV学习笔记--视频读写
- 文件IO编程九
- 重新回到技术的轨道上来
- 转52破解jiangwei212Android爆破应用签名的一种全新高效方式(Native+服务器验证)
- Caffe学习系列(9):运行caffe自带的两个简单例子
- Java编程思想之面向对象
- 如何一个月熟悉TCP/IP协议族
- 腾讯云ubuntu centos配置jdk
- 1102. Invert a Binary Tree (25)
- NYoj 24 素数距离问题