c 語言 readline,如何用C實現一個readLine()函數-?該函數每次讀入文本文件的一行并打印到屏幕...

如何用C實現一個readLine()函數-?該函數每次讀入文本文件的一行并打印到屏幕

(2012-04-13 00:23:41)

標簽:

打印

文本文件

如何

雜談

如何用C實現一個readLine()函數? 該函數每次讀入文本文件的一行并打印到屏幕以前看到過這方面的討論

http://bbs.chinaunix.net/viewthread.php?tid=248256

但是總感覺沒有一個好的總結方案,就沒了下文

java里面有InputStream.readLine可以讀入文件的一行然后返回一個String。如果是一個大的文本沒有換行的就能返回一個非常大的對象。

我想,如何用C語言來實現一個readLine()函數呢

1. 基本思路,getchar循環,但是這樣會不會效率太低?

如果一個大文本就是沒有換行一直到最后,getchar豈不是調用了N次

2.

每次fread到一個1k的buffer,看看里面有沒有換行符號,如果有的話,就輸出換行符之前的內容,fseek到換行符之后。繼續fread。

但是這樣有個問題,如果fread的內容還沒有換行,我就得分配一塊新的內存去創建一個更大的buffer。而且如果文本行很大,我需要反復調用realloc,內容也被不停的拷貝和移動位置,這樣做的效率似乎也很低的。

3. 如果用c++,cin.getline()也是要放到一個buffer里面,那么這個buffer開多大呢?

開小了會讀不完一行,開大了--開多大又沒譜了

有沒有一個成熟的解決方法呢?

或者有dx研究過javahttp://www.eminlv.com/的實現的(不管多大行的都能輸出),給個實現原理吧!

謝謝了,我先拋磚引玉... ...man getline原帖由 flw 于 2008-12-19 15:11 發表

http://bbs.chinaunix.net/images/common/back.gif

man getline

unix平臺

solaris

HP-itanium

AIX

上面去man getline都是說沒有手冊... ...

這個是標準庫函數么? ...原帖由 jeanlove 于 2008-12-19 15:33 發表

http://bbs.chinaunix.net/images/common/back.gif

unix平臺

solaris

HP-itanium

AIX

分享:

a4c26d1e5885305701be709a3d33442f.png喜歡

0

a4c26d1e5885305701be709a3d33442f.png贈金筆

加載中,請稍候......

評論加載中,請稍候...

發評論

登錄名: 密碼: 找回密碼 注冊記住登錄狀態

昵???稱:

評論并轉載此博文

a4c26d1e5885305701be709a3d33442f.png

發評論

以上網友發言只代表其個人觀點,不代表新浪網的觀點或立場。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529797.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529797.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529797.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STC單片機C語言中的數據類型,stc單片機c語言程序設計 第9章 stc單片機c語言數據類型.pdf...

STC單片 機C語言變量和數據類型主講:何賓Email :hebinmail.buct.edu.cn2016.03C語言中的常量和變量對于基本數據類型,按其值是否可變又分為常量和變量兩種。在程序執行過程中,其值不發生改變的量稱為常量,其值可變的量…

c4droid語言游戲,c4droid手機編程軟件下載

c4droid可以說是手機端最好的編程軟件,沒有之一,軟件可以幫助大家在手機上進行編寫C代碼,讓各位程序員們隨時隨地都能編程。操縱簡單,功能強大。c4droid軟件介紹c4droid是款Android設備上的C/C程序編譯器,默認以tcc(tiny c compil…

c語言圖像函數怎么用,請教 怎么才能用C輸出一個函數的圖像?大俠 幫幫忙啊...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓發一下我當年的練習程序#include#include#include#includedouble exp(double x){double l,m;unsigned int n;l1; m1; n0;do {n;mx*m/n;llm; }while ((-1.0E-6<m)&&(m<1.0E-6));return l; }main(){int graphmode, gra…

創業沖突的五種解決方法是_不會說話,不懂處理人際沖突怎么辦?《溝通的藝術》5步教會你...

關注“夏娃藍空間”&#xff0c;陪你成長為更好的自己。想要良好地解決沖突&#xff0c;一定要有“這是我們兩個人共同的事”的態度。今年夏天最熱門的電視劇非《三十而已》莫屬了&#xff0c;而撐起了這部劇的流量的廣大觀眾&#xff0c;基本都是集中在逐步靠近中青年階段的90…

android gsensor 坐標,MTK Android G sensor 原理,配置,調試

原理圖&#xff1a;g_sensor的驅動目錄在mediatek/custom/common/kernel/accelerometer下。一、g_sensor 的移植步驟1、在ProjectConfig.mk中配置相關的g_sensor例如 CUSTOM_KERNEL_ACCELEROMETER kxtf92、在mediatek/custom/common/kernel/accelerometer目錄中添加 g_sensor的…

網貸大數據什么時候會好_如果人類把地球鉆穿了,會發生什么?大數據分析告訴你多可怕...

很多科研人員在做實驗的時候&#xff0c;少不了被旁人嘲笑或者蔑視的情況&#xff0c;因為常人往往是無法理解他們的想法的。例如曾經就有科研人員想要對地球進行鉆探&#xff0c;看看能夠在地表上鉆多深&#xff0c;是否能夠將地球給鉆穿了。很多人都會認為這種做法沒有意義而…

android h5 有廣告,那些H5在Android上顯示的喪心病狂的坑

首先得強調一下&#xff0c;H5和移動設備的交互遇到的問題真的是各種喪心病狂&#xff01;&#xff01;但是本主依然還是耐著極大的興致(無奈)的做了下去。H5頁面在Android或者IOS上運行出現問題(這里的運行指的是h5的頁面運行在App里的webview里)&#xff0c;測試人員或者上級…

python非貪婪匹配_Python中關于正則表達式非貪婪以及多行匹配功能詳解

這篇文章主要介紹了Python正則表達式非貪婪、多行匹配功能,結合實例形式分析了Python正則表達式中非貪婪及多行匹配功能的實現方法與相關注意事項,需要的朋友可以參考下本文實例講述了Python正則表達式非貪婪、多行匹配功能。分享給大家供大家參考&#xff0c;具體如下&#xf…

小米9android q測試版,基于Android Q的MIUI來了 小米9嘗鮮

01基于Android Q的MIUI來了中關村在線消息&#xff1a;谷歌在今年五月份發布了最新的Android Q系統&#xff0c;雖然很多國產手機還沒有升級到Android P&#xff0c;但是還是有不少廠家開始對旗下的手機升級到最新的Android Q系統&#xff0c;根據小米最新的官方的消息&#xf…

ios傳值給js_WKWebView JS與OC間相互傳值調用

寫在前面本文將介紹如何使用WKWebView進行JS與OC、OC與JS間的傳值和方法調用。前置條件1、導入WebKit.framework2、聲明WKWebViewJS調用OC原生方法1、前端在js文件中實現這里要注意messageHandlers后面跟著的deviceInfo要與原生的定義的一致。2、iOS 實現WKScriptMessageHandle…

android layerlist bitmap,android?shape類似的?另一個?高端用法:layer-list

android shape類似的 另一個 高端用法&#xff1a;layer-list&#xff1a;簡介&#xff1a;將多個圖片或上面兩種效果按照順序層疊起來” 《?xml version"1.0" encoding"utf-8"?>《layer-listxmlns:android"http://schemas.android.com/apk/res/…

跨域會報40幾_總結一下跨域的幾種情況

在網站開發中&#xff0c;經常會遇到跨域問題&#xff0c;下面總結一下集中常見的跨域問題。1. 不同域名屬于跨域&#xff0c;如&#xff1a;www.a.com 和www.b.com&#xff0c;另外www.a.com 和www.a.com.cn也屬于不同域名。2. 主域名和子域名(二級域名、三級域名等)跨域&…

android將拍攝的圖片存入sd卡中,Android將圖片保存至SD卡上

首先判斷SD卡是否插入-->public String getSDPath(){File SDdirnull;boolean sdCardExistEnvironment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);if(sdCardExist){SDdirEnvironment.getExternalStorageDirectory();}if(SDdir!null){return S…

nedc和epa續航里程什么意思_400公里已成續航新起點,純電動車的實用性到底怎樣...

對于購買純電動汽車的用戶來說&#xff0c;續航里程是非常重要的參考因素&#xff0c;畢竟如果續航里程太短&#xff0c;實用性將會大打折扣&#xff0c;跑個長途都心驚膽戰的&#xff0c;生怕路上遇到堵車了、沒電了、中途沒有加油站之類的。就算是不考慮長途&#xff0c;市區…

android廣播示例,android接受開機廣播事件

【實例簡介】【實例截圖】【核心代碼】package com.yin.servicetest;import com.yin.service.MyService;import android.app.ActivityManager;import android.app.ActivityManager.RunningServiceInfo;import android.content.BroadcastReceiver;import android.content.Contex…

java class類_關于創建java中的class類的對象的方法

1.由于Class類沒有公共構造方法&#xff0c;所有創建Class的對象的方法有以下幾種&#xff1a;①通過Class.forName()靜態方法返回Class類的一個實例Class cls Class.forName("test.dog - 這個網站可出售。 - 最佳的test 來源和相關信息。");②通過類名.class來獲取…

android remote shell,關于 Appium V1.7.2 新增的唯一安卓可執行 mobile 命令 shell 的疑問...

關于 mobile: shell 在更新日志中說明&#xff0c;是從 1.7.1 升級到 1.7.2 中 “Add --relaxed-security, and mobile: shell access to adb”&#xff0c;并搜索 github 中 appium 庫&#xff0c;找到需要配置 desiredcapabilities 中 relaxedSecurityEnabled 為 true&#x…

linux 正則查找email_Hello Iris簡易微博類App開發教程3-查找用戶和用戶登錄

用戶郵箱地址有效性驗證在上一節中&#xff0c;我們編寫了用于用戶注冊的代碼。但是當時并沒有為用戶的Email添加有效性驗證&#xff0c;導致Email被設置為任何字符串都能注冊成功。所以在本節初&#xff0c;我們首先來為Email添加一個有效性驗證。首先還是來編寫測試數據&…

pyqt生成 android,PyQt on Android

問題Im working on PyQt now, and I have to create the application on Android, Ive seen the kivy library, but its too crude.Is there any way now to run an application on Android made on PyQt?回答1:Android does not support pyQt4. PyQt5 is however supported(r…

原生的html組件,如何創建HTML5與原生UI組件混合的移動應用程序

本文將介紹如何使用Trigger.io創建原生的頂部欄、標簽欄、以及HTML/CSS/JavaScript的混合型移動應用程序。以后我們將添加更多的原生UI組件到Trigger.io&#xff0c;但現在你只需要使用web技術就可以在IOS和Android上創建漂亮而流暢的移動應用。這是一個簡單的菜譜應用程序的屏…