Impossible is nothing |
|
|||
愛過(guò)知情重醉過(guò)知酒濃 花開花謝終是空 緣份不停留像春風(fēng)來(lái)又走 女人如花花似夢(mèng) |
公告
日歷
統(tǒng)計(jì)
導(dǎo)航常用鏈接留言簿(4)隨筆分類(4)隨筆檔案(8)文章分類(77)
文章檔案(91)相冊(cè)搜索最新評(píng)論
閱讀排行榜評(píng)論排行榜 |
在一般的情況下, 我是很少使用迭代器istream_iterator的。最近在為項(xiàng)目編寫一個(gè)讀特定格式文件的功能時(shí),發(fā)現(xiàn)使用istream_iterator和std::find能非常方便的實(shí)現(xiàn)文件內(nèi)容的查找。
注:以下全部假定是文本文件,二進(jìn)制文件沒(méi)有測(cè)試過(guò)。
假定要查找的是一個(gè)文件中的某個(gè)string,可以這樣實(shí)現(xiàn):
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
題外話: 1、什么時(shí)候可以考慮使用istream_iterator? 我覺得,當(dāng)文件中是同構(gòu)數(shù)據(jù)的時(shí)候,使用istream_iterator可以方便的讀取、查找對(duì)象。 1) 如果文件中的內(nèi)容都是同一種基本類型的數(shù)據(jù),如int,可以這樣用istream_iterator: ![]() ![]() 2) 如果是一個(gè)個(gè)自定義CUser對(duì)象的數(shù)據(jù)順序存放的,需要重載operator >>,然后這樣用: ![]() ![]() 如果需要查找對(duì)象,在特定的情況下還需要重載比較運(yùn)算符。 2、文件中是異構(gòu)數(shù)據(jù)情況的處理 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
3、效率問(wèn)題
|
![]() |
|
Copyright © 笑笑生 | Powered by: 博客園 模板提供:滬江博客 |