IO进程线程

server/2025/3/4 8:51:31/

一、思维导图

二、作业

1.使用标准IO函数,实现文件拷贝

#include <head.h>
//""表示在当前目录,<>表示在库里找
int main(int argc, const char *argv[])
{
    //打开    
    FILE* fp=fopen("./one.txt","r");
    if(fp==NULL)
    {
        PRINT_ERROR("fopen");
    }
    FILE* fp_two=fopen("./two.txt","w");
    if(fp_two==NULL)
    {
        PRINT_ERROR("fopen");
    }
 
    while(1)
    {
        int res=fgetc(fp);
        if(res==EOF)
        {
            break;
        }
        fputc(res,fp_two);
    }
    //关闭
    if(fclose(fp)==EOF)
    {
        PRINT_ERROR("fclose");
    }
    if(fclose(fp_two)==EOF)
    {
        PRINT_ERROR("fclose");
    }
 
    return 0;
}

2.使用fgets函数打印文件

#include <head.h>
//""表示在当前目录,<>表示在库里找
int main(int argc, const char *argv[])
{
    //打开    
    FILE* fp=fopen("./one.txt","r");
    if(fp==NULL)
    {
        PRINT_ERROR("fopen");
    }
 
    //读取
    int res;
    while(res!=EOF)
    {
        res=fgetc(fp);//会自动后移
        if(res==EOF)
        {
            return -1;
        }
    printf("%c",res);
    }
    printf("%ld",fp->_IO_buf_end-fp->_IO_buf_base);
    //关闭
    if(fclose(fp)==EOF)
    {
        PRINT_ERROR("fclose");
    }
    //printf("%ld",fp->_IO_buf_end-fp->_IO_buf_base);
    return 0;
}

3.计算文件行数

#include <head.h>
//""表示在当前目录,<>表示在库里找
int main(int argc, const char *argv[])
{
    //打开    
    FILE* fp_two=fopen("./two.txt","r");
    int res=fgetc(fp_two);
    if(res==EOF)
    {
        printf("该文件0行\n");
        return -1;
    }
    int count=1;
    while(1)
    {
        res=fgetc(fp_two);
        if(res==10)
        {
            count+=1;
        }
        else if(res==EOF)
        {
            
            break;
        }
    }
    
    printf("该文件有%d行\n",count);
    //关闭
 
    if(fclose(fp_two)==EOF)
    {
        PRINT_ERROR("fclose");
    }
 
    return 0;
}


http://www.ppmy.cn/server/172287.html

相关文章

笔记:大模型Tokens是啥?为啥大模型按Tokens收费?

一、Token的定义与示例 1. 核心概念 Token是自然语言处理中的最小文本单位&#xff0c;代表模型处理文本时的一次计算单元。 英文场景&#xff1a;1个token ≈ 1个单词或标点符号。 示例&#xff1a;句子"Hello, world!"拆分为["Hello", ",",…

hive 面试题

Hive基础概念 1.1 Hive是什么&#xff1f; 基于Hadoop的数据仓库工具&#xff0c;支持类SQL&#xff08;HiveQL&#xff09;查询&#xff0c;底层转换为MapReduce/Tez/Spark任务。 核心功能&#xff1a;数据ETL、查询、分析&#xff1b;定位&#xff1a;OLAP&#xff08;分析…

两周学习安排

日常安排 白天 看 MySQL实战45讲&#xff0c;每日一讲 看 图解设计模式 每天1-2道力扣算法题&#xff08;难度中等以上&#xff09; 每天复习昨天的单词&#xff0c;记20个单词&#xff0c;写一篇阅读 晚上 写服创项目 每日产出 MySQL实战45讲 读书笔记 设计模式 读书笔…

java开发——为什么要使用动态代理?

举个例子&#xff1a;假如有一个杀手专杀男的&#xff0c;不杀女的。代码如下&#xff1a; public interface Killer {void kill(String name, String sex);void watch(String name); }public class ManKiller implements Killer {Overridepublic void kill(String name, Stri…

Spring Boot 经典九设计模式全览

在Spring Boot中&#xff0c;设计模式的应用广泛且重要&#xff0c;它们有助于提高代码的可维护性、可扩展性和复用性。以下是Spring Boot中经典的9种设计模式及其代码案例&#xff1a; 1. 单例模式&#xff08;Singleton Pattern&#xff09; 在Spring中&#xff0c;bean默认…

微店商品详情API接口实战指南:从零实现商品数据自动化获取

一、引言&#xff1a;电商数据驱动时代的API价值 在电商精细化运营趋势下&#xff0c;商品数据的实时获取已成为库存管理、竞品分析、价格策略优化的核心需求。微店作为国内领先的移动电商平台&#xff0c;其开放的商品详情API接口&#xff08;如​​item_get​​&#xff09;…

nginx 正向代理与反向代理

1. 正向代理&#xff08;Forward Proxy&#xff09; 正向代理是指 代理客户端 访问目标服务器&#xff0c;通常用于访问受限资源或隐藏客户端 IP。 工作原理 客户端请求代理服务器&#xff08;如 nginx&#xff09;。代理服务器代表客户端向目标网站发起请求。目标网站返回内…

深度学习文本生成:从 GPT 到 Transformers

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…