当前位置: 首页 > news >正文

7.31IO进程线程——标准IO函数

文章目录

  • 一、思维导图
  • 二、下载文件(默认文件存在)
    • myhead.h
    • 代码
    • 现象
  • 三、计算文件有几行,多大字节(默认文件存在)
    • 代码
    • 现象
  • 四、牛客网刷题

一、思维导图

在这里插入图片描述

二、下载文件(默认文件存在)

myhead.h

#ifndef __MYHEAD_H__
#define __MYHEAD_H__#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>#define ERR_MSG(msg) do{perror(msg);printf("%d\n",__LINE__);return -1;}while(0)
#endif

代码

#include <myhead.h>
int main(int argc, const char *argv[])
{FILE *A_fp=fopen("./A_download","r+");//下载目标文件if(A_fp==NULL){printf("A_fopen error..\n");}FILE *B_fp=fopen("./B_download","w+");//下载好的文件if(B_fp==NULL){printf("B_fopen error..\n");}//下载文件char arr[128];while(1){memset(arr,0,sizeof(arr));if(NULL==fgets(arr,sizeof(arr),A_fp)){break;}if(EOF==fputs(arr,B_fp)){printf("fputs error..\n");return -1;}}//将下载好的文件的光标移动至文件的开始rewind(B_fp);//输出下载好的文件while(1){memset(arr,0,sizeof(arr));if(NULL==fgets(arr,sizeof(arr),B_fp)){break;}printf("%s",arr);}//关闭文件if(EOF==fclose(A_fp)){ERR_MSG("fclose error..\n");//自定义宏函数}printf("A_download fclose success..\n");if(EOF==fclose(B_fp)){ERR_MSG("fclose error..\n");}printf("B_download fclose success..\n");return 0;
}

现象

在这里插入图片描述

三、计算文件有几行,多大字节(默认文件存在)

代码

#include <myhead.h>
int main(int argc, const char *argv[])
{FILE *A_fp=fopen("./A_download","r+");//打开目标文件if(A_fp==NULL){printf("A_fopen error..\n");}//输出下载好的文件char arr[128];int i=0;long size=0;while(1){memset(arr,0,sizeof(arr));if(NULL==fgets(arr,sizeof(arr),A_fp)){break;}i++;printf("%s",arr);}size=ftell(A_fp);printf("文件有%d行\n",i);printf("size=%ld\n",size);//关闭文件if(EOF==fclose(A_fp)){ERR_MSG("fclose error..\n");//自定义宏函数}printf("A_download fclose success..\n");return 0;
}

现象

shdbakj
sndjs
sdnjsn
msksm
sdsdfwf
文件有5行
size=35
A_download fclose success…

四、牛客网刷题

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/606450.html

相关文章:

  • 在window中安装swow体验php协程
  • 【07】大恒相机SDK C#开发 —— 相机IO触发采集与信号输出
  • 2025年IntelliJ IDEA最新下载、安装教程,附详细图文
  • 最新PS 2025安装包下载与安装教程(Adobe Photoshop 2025 )
  • Linux731 shell工具;[]字符
  • imx6ull-驱动开发篇5——新字符设备驱动实验
  • 【MATLAB】(三)数据类型与运算符
  • 在MySQL中DECIMAL 类型的小数位数(Scale)如何影响分组查询?
  • 如何提前识别项目风险?主要方法分享
  • 【MATLAB】(二)基础知识
  • SAML、OpenID、OAuth、LDAP:解码 SSO 协议
  • Table-Render:基于 JSON Schema 的高性能 React 动态表格渲染器
  • 一万字讲解Java中的IO流——包含底层原理
  • 开启云服务器mysql本地连接(is not allowed to connect to this mysql server)
  • java关键字2—this和super
  • 前端ESLint扩展的用法详解
  • 468. 验证IP地址
  • 图论-最短路 Bellman-Ford算法
  • sqli-labs:Less-12关卡详细解析
  • C++(模板,智能指针)
  • 力扣-102. 二叉树的层序遍历
  • 数据治理:数字化时代的 “治” 与 “理” 之道 —— 破解企业数据资产困局
  • 脚手架搭建React项目
  • 解决Python ModuleNotFoundError:使用python -m的妙招
  • Spring MVC体系结构和处理请求控制器
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-52,(知识点:简单一阶低通滤波器的设计,RC滤波电路,截止频率)
  • 【Kubernetes 指南】基础入门——Kubernetes 201(三)
  • 【Linux】的起源 and 3秒学习11个基本指令
  • 第十三天:蛇形矩阵
  • Cesium 快速入门(二)底图更换