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

6月30日作业

思维导图


一、读取文件,效果类似 cat 的功能

代码

#include <25041head.h>int main(int argc, const char *argv[])
{//打开文件printf("请输入你要读取的文件路径:");char str[128]="";scanf("%s",str);FILE *fp=fopen(str,"r");if(NULL==fp){ERRLOG("文件打开失败");}char buf[128]="";while(1){memset(buf,0,sizeof(buf));if(NULL==fgets(buf,sizeof(buf),fp))break;printf("%s",buf);}return 0;                                            
}

运行结果


二、通过argc和argv输入文件名和路径,请实现文件的拷贝

 代码

#include <25041head.h>int main(int argc, const char *argv[])
{FILE *fp=fopen(argv[1],"r");FILE *fp_new=fopen(argv[2],"w+");if(NULL==fp){ERRLOG("文件打开失败");}char buf[128]="";while(1){memset(buf,0,sizeof(buf));if(NULL==fgets(buf,sizeof(buf),fp))break;fputs(buf,fp_new);}if(EOF==fclose(fp)){printf("%s fclose error..\n",argv[1]);return -1;}                                                               if(EOF==fclose(fp_new)){printf("%s fclose error..\n",argv[2]);return -1;}printf("文件内容已成功拷贝\n");return 0;
}

 运行结果


三、通过argc和argv输入文件名和路径,请计算文件的行数 

 代码

#include <25041head.h>int main(int argc, const char *argv[])
{FILE *fp=fopen(argv[1],"r");if(NULL==fp){ERRLOG("文件打开读取失败");}char buf;int line=0;while(1){buf=fgetc(fp);if(EOF==buf)break;if('\n'==buf)line++;                                         }printf("文件 %s 的行数为 %d\n",argv[1],line);if(EOF==fclose(fp)){printf("fclose error..\n");return -1;}printf("fclose success..\n");return 0;
}

运行结果

http://www.dtcms.com/a/262822.html

相关文章:

  • AR 学习:开启未来学习新视界​
  • 深入解析TCP:可靠传输的核心机制与实现逻辑
  • 7,FreeRTOS列表与列表项的插入删除
  • docker安装MySQL,创建MySQL容器
  • 认识 Spring AI
  • 根据OS自动加载不同的native库和本地jar包
  • Linux驱动学习day11(定时器)
  • 百度文库智能PPT月访问量超3400万,用户规模翻倍增长
  • demo01:基于 SpringMVC 的用户管理系统
  • AlpineLinux安装部署MongoDB
  • Clickhouse源码分析-TTL执行流程
  • 杂谈-架构时代演进
  • C语言常用转换函数实现原理
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ThemeClock(主题时钟)
  • Windows环境下Docker容器化的安装与设置指南
  • 【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(1)线性回归模型
  • AWS WebRTC:通过shell分析并发启动master后产生的日志文件
  • 御控助力打造物联网实训室,赋能职业教育高质量发展
  • 大模型-分布式推理简介
  • Linux基础环境开发工具apt、vim和gcc/g++
  • STC8H驱动两相四线步进电机
  • 基于llama-factory+ollama+vllm加速大模型训推生产
  • 大数据(4)-spark
  • Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南
  • STM32-第一节-新建工程,GPIO,点亮LED,蜂鸣器
  • GC3910S:一款高性能双通道直流电机驱动芯片
  • 【Wireshark】高级过滤技巧精讲
  • Chromium 136 编译指南 Ubuntu篇:Python环境与开发工具配置(五)
  • 解决VSCode打开最近项目后终端shell不正常的问题
  • TCP 滑动窗口实现机制