IO学习系列之使用fgetc和fputc复制文件内容

  • fgetc函数:
  • 功能:在文件中读取一个字符;
  • 具体内容如下:
c 复制代码
#include <stdio.h>   //头文件

int fgetc(FILE *stream);
/*
	参数:	
			stream 文件指针
			
	返回值:
	
    		成功 	返回读取到的字符
    		
    		失败OR文件结束 	返回EOF 
*/
  • fputc函数:
  • 功能:在文件中写入一个字符;
  • 具体内容如下:
c 复制代码
#include <stdio.h>   //头文件

int fputc(int c, FILE *stream);
/*
	参数:
	
    	c     	要操作的字符
    	
    	stream 	文件指针
    	
	返回值:
	
    	成功 	返回写入的字符的ASCII码
    	
    	失败 	返回EOF 
 */
  • perror函数:
  • 功能:错误码被重置后,直接打印错误信息;
  • 具体内容如下:
c 复制代码
#include <stdio.h>	//头文件

void perror(const char *s);
/*
	参数:	
	
		s 	用户附加的信息 
		
    	最终打印的结果为:
    	
    		附加的信息和错误码对应的错误信息以及换行符
    	
	返回值:	无
*/
  • 示例代码:
c 复制代码
//使用 fgetc 和 fputc 函数实现文件拷贝的功能

#include <stdio.h>

int main(int argc, const char *argv[])
{
    
    if(3 != argc)
    {

        printf("Usage : %s src_file dest_file\n",argv[0]);

        return -1;
    }

    FILE *fp1 = fopen(argv[1],"r");

    if(NULL == fp1)
    {
        perror("fopen error");
        return -1;
    }

    FILE *fp2 = fopen(argv[2],"w");

    if(NULL == fp1)
    {
        perror("fopen error");
        return -1;
    }

    int ret = 0;

    while(EOF != (ret = fgetc(fp1)))\
    {

        fputc(ret,fp2);
    }
    return 0;
}
相关推荐
晴天的雨.99212 分钟前
【C++算法】三数之和
开发语言·c++·算法
传奇开心果编程19 分钟前
【Flutter入门练中学】第11课:状态管理进阶与声明式路由
android·学习·flutter·ui·ios
承渊政道29 分钟前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
硅基手札38 分钟前
【linux内核专栏01】Linux 内核心智模型与设计哲学
linux·运维·驱动开发·开源软件
码完就睡1 小时前
Linux——socket网络编程
linux·运维·网络
道尔柯南1 小时前
【Linux】网络基础概念
linux·运维·网络
多多爱学习1 小时前
括号有几层?得看还有多少个左括号没闭合
c语言·c++·算法·面试
个 人 练 习 生1 小时前
C++中的内存管理
开发语言·c++·经验分享·学习
续写烂尾1 小时前
MK SD NAND(贴片式TF卡)替代Nor Flash:1Gb容量与256Mb Nor
算法·microsoft
傲世仙尊1 小时前
从抢票事故到锁的原理-互斥条件变量与生产消费模型
linux·驱动开发