一般做网站多少钱,小程序源码怎么使用的,搜索优化软件,义乌网站制作如何用C实现一个readLine()函数- 该函数每次读入文本文件的一行并打印到屏幕(2012-04-13 00:23:41)标签#xff1a;打印文本文件如何杂谈如何用C实现一个readLine()函数? 该函数每次读入文本文件的一行并打印到屏幕以前看到过这方面的讨论http://bbs.chinaunix.net/viewthrea…如何用C实现一个readLine()函数- 该函数每次读入文本文件的一行并打印到屏幕(2012-04-13 00:23:41)标签打印文本文件如何杂谈如何用C实现一个readLine()函数? 该函数每次读入文本文件的一行并打印到屏幕以前看到过这方面的讨论http://bbs.chinaunix.net/viewthread.php?tid248256但是总感觉没有一个好的总结方案就没了下文java里面有InputStream.readLine可以读入文件的一行然后返回一个String。如果是一个大的文本没有换行的就能返回一个非常大的对象。我想如何用C语言来实现一个readLine()函数呢1. 基本思路getchar循环但是这样会不会效率太低?如果一个大文本就是没有换行一直到最后getchar岂不是调用了N次2.每次fread到一个1k的buffer看看里面有没有换行符号如果有的话就输出换行符之前的内容fseek到换行符之后。继续fread。但是这样有个问题如果fread的内容还没有换行我就得分配一块新的内存去创建一个更大的buffer。而且如果文本行很大我需要反复调用realloc内容也被不停的拷贝和移动位置这样做的效率似乎也很低的。3. 如果用ccin.getline()也是要放到一个buffer里面那么这个buffer开多大呢?开小了会读不完一行开大了--开多大又没谱了有没有一个成熟的解决方法呢?或者有dx研究过javahttp://www.eminlv.com/的实现的(不管多大行的都能输出)给个实现原理吧谢谢了我先抛砖引玉... ...man getline原帖由 flw 于 2008-12-19 15:11 发表http://bbs.chinaunix.net/images/common/back.gifman getlineunix平台solarisHP-itaniumAIX上面去man getline都是说没有手册... ...这个是标准库函数么? ...原帖由 jeanlove 于 2008-12-19 15:33 发表http://bbs.chinaunix.net/images/common/back.gifunix平台solarisHP-itaniumAIX分享喜欢0赠金笔加载中请稍候......评论加载中请稍候...发评论登录名 密码 找回密码 注册记住登录状态昵 称评论并转载此博文发评论以上网友发言只代表其个人观点不代表新浪网的观点或立场。