真是一本好书,就这么点,就感觉学到很多了,当然也是我水平太差。
用shell或者bash的时候有一个文件重定向,就是每次程序运行的时候,我们都需要手动输入内容,然后程序输出内容,这时可以用文件来代替。比如,
./inpu <txt1.txt >txt2.txt 就是把inpu执行一遍,用txt1.txt的内容当初输入的内容,然后把输出内容写入到txt2.txt中。txt2.txt会重新写入。
联想一下,cat是打开一个文件的意思,考虑加上参数。
cat a.txt >b.txt 这里就是把a.txt中的内容全部写入到b.txt中,可以看作复制
cat a.txt >>b.txt 把a.txt中得内容添加到b.txt中,属于增加添加
cat a.txt b.txt >c.txt 把a.txt中得内容和b.txt中得内容叠加到c.txt中去,属于合并。
再来一个mac中得命令,rm a.out 把a.out删除,rm属于删除,如果有链接的话,删除的是软链接。
另外还需要提醒一下的是,在C++中输入输出流一般都有缓冲区,cout和cin就是刷新缓冲区的,缓冲区一般都有大小,所以及时刷新,不然缓冲区里面的内容会被冲掉,从而导致错误。clog也是有缓冲区的,cerror没有缓冲区,所以运行的时候打印在最后一行?