zoukankan      html  css  js  c++  java
  • 面向对象程序设计作业4

    面向对象程序设计作业4

    github repo 链接


    学习感想

    一开始就觉得本次作业是较为简单的,之前大致看了下命令行的知识就觉得花不了多少时间,便一直留着到周六下午才开始正经学习。

    然而懂得理论知识不代表便会使用,一经实践便出现了各种各样的问题,此次作业完成得我心慌慌,以后再简单的知识点都要去认真学习。


    文件读写、文件路径学习

    寒假便有学习了文件输入输出流,当时学习的是ifstream/ofstream流,这次作业中学习了使用freopen/fclose函数来实现文件的输入输出,两者都能顺利实现文件输入输出,个人觉得可能freopen/fclose会较为简单易懂。

    命令行学习

    1. int argc,char *argv[]
      argc-arguments count代表输入参数的个数,以空格来计数,第一个参数(argv[0])是程序名(.exe)。
      argv-arguments vector,以字符数组的方式储存参数内容。
    2. 由命令行控制文件读写
      argv以字符数组的形式储存我们写入的命令,然后替代文件读写中的文件路径。如freopen( "input.txt", "r", stdin) ——> freopen(argv[1], "r", stdin)或者ifstream infile("input.txt", ios::in) ——> ifstream infile(argv[1], ios::in) 通过类似这样的操作,我们就能由命令行控制文件读写。
    3. 当然命令行也不仅局限于使用文件读写,argv储存的是字符串,我们可以像平时使用字符串一样来完成一些其他处理。

    遇到的问题

    一开始自以为懂得了理论,一下子实践却出了各种各样的细节问题,什么替换时没去掉“”啊,一直打不开文件啊,在其他函数使用时忘记传参啊等等,感觉这次做作业的效率不高。

    关于bonus

    完成基础的文件读写后,对从命令行读取的参数进行了一些判断处理,如判断参数过多或过少,input/output文件地址不正确,针对本次3个电梯题目的output文件数量不对等判断,并输出提示。


    附上程序运行图:


  • 相关阅读:
    http协议
    三次握手四次挥手的原理
    mmap
    I/O多路复用之poll
    I/O多路转接之select
    自旋锁、文件锁、大内核锁
    网络基础(一)
    线程同步之(信号量)
    进程与线程的简单理解
    内存溢出——程序员必备网站
  • 原文地址:https://www.cnblogs.com/qq291713624/p/9094380.html
Copyright © 2011-2022 走看看