coreutils5.0 fold.c源码分析

coreutils5.0 fold.c源码分析
先说点闲话,感觉打开电脑,能静下心来读源码,是一种幸福的生活。昨天把办公桌上的卫生整理了一下,然后在win10的笔记本上安装coreutils5.0,忽然发现编译不了。编译到seq.c时就报错误了。
我心想,还是把那些能编译出来的代码读一下,我不想把时间花在调试环境上。于是就打开,发现win10下的ubuntu很不好读代码,那个注释的字体太暗了。还是直接安装ubuntu系统,在下面读的代码字体颜色就正常多了。或许,要搞一台linux笔记本。
今天读fold.c,我修改了,因为编译不了,于是就使用系统已经安装好的程序,先测试下效果。
echo "1234567" | fold -w 3
123
456
7
昨天不会使用fold命令,还在网上找了文章,但没有读,有时,就是读不进去。今天,直接打开源码,先从头翻到尾,发现有一个-w选项的处理有意思

在main程序中,当遇到选项-3时,变成
-w 3
再调用getopt解析-w参数,给全局变量width赋值。
再调用fold_file(fd,width)
接着分析fold_file函数。
我大体觉得,作者是这样处理
while((c=getc(istream))!=EOF){
  判断当前长度是否起过width
  如果没有超过,继续读,
  如果超过,就折行。
}
不过,有些细节,还是搞不明白。
我想,还是留着以后,再慢慢看。
我留点尾巴,让大脑慢慢发酵。
另外,在linux中,切换程序是用alt+esc键,学了一招。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值