码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言 IO函数练习


    将任意文件中的数据打印到终端上

    1. #include
    2. int main(int argc, const char *argv[])
    3. {
    4. if(argc < 2)
    5. {
    6. printf("文件名未输入,请输入文件名!\n");
    7. return -1;
    8. }
    9. //打开文件
    10. FILE* fo = fopen(argv[1],"r");
    11. if(fo == NULL)
    12. {
    13. perror("fopen");
    14. return -1;
    15. }
    16. //将任意文件中的数据打印到终端上
    17. char data;
    18. while(fread(&data, 1, sizeof(data), fo) == sizeof(data))
    19. {
    20. printf("%c", data);
    21. }
    22. //关闭文件
    23. fclose(fo);
    24. return 0;
    25. }

    用read和口write实现文件拷贝

    1. #include
    2. #include
    3. #include
    4. #include
    5. #include
    6. #include
    7. // 用read和口write实现文件拷贝;
    8. int main(int argc, const char *argv[])
    9. {
    10. int fo = open(argv[1], O_RDONLY);
    11. if(fo < 0)
    12. {
    13. perror("open");
    14. return -1;
    15. }
    16. printf("fo = %d\n", fo);
    17. //需要拷贝的文件
    18. int fo2 = open(argv[2], O_WRONLY);
    19. if(fo2 < 0)
    20. {
    21. perror("open");
    22. return -1;
    23. }
    24. ssize_t res;
    25. char str[100];
    26. //循环读取文件中的数据
    27. while(1)
    28. {
    29. bzero(str, sizeof(str));
    30. res = read(fo, str, sizeof(str));
    31. //判断read的返回值
    32. if(res == 0)
    33. {
    34. printf("文件读取完毕!\n");
    35. break;
    36. }
    37. else if(res < 0)
    38. {
    39. perror("read");
    40. break;
    41. }
    42. //写入文件
    43. write(fo2, str, res);
    44. }
    45. //关闭文件
    46. if( close(fo) < 0 && close(fo2) < 0 )
    47. {
    48. perror("close");
    49. return -1;
    50. }
    51. return 0;
    52. }

  • 相关阅读:
    LeetCode【240】搜索二维矩阵
    Linux项目自动化构建工具:make/Makefile
    数据流与重定向,vim练习,grep过滤练习,cut练习
    React18 新特性
    「Java核心面试系列」面试竟然连这MySQL面试核心25问,都不会?
    SpringBoot MockMvc
    Vue报错: Avoid mutating a prop directly since the value will 问题解决
    PDF流前端如何接收:深度解析与实用策略
    里程碑!用自己的编程语言实现了一个网站
    Spark 内核(四) --------- Spark 任务调度机制
  • 原文地址:https://blog.csdn.net/n14401/article/details/136354426
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号