檔案字串流的使用方式
結尾開設新的專欄了,之前刷codewars的時候經常性的使用一些stl裡面的一些功能,也可以多多少少掌握一些比較方便的用法。但是,僅僅是對一些簡單用法的掌握,缺乏系統的學習,是遠遠無法勝任之後更複雜的要求。靈感**於積累,而靈感的出現就是知識網路中相互聯絡的知識產生共鳴。而要使我們的靈感可以更多的湧現,需要我們的知識網路更加嚴密,僅僅是碎片化的學習是遠遠不夠的。這就是今天要來開始系統學習stl的原因。(另外:博主是老九學堂的學生,本博文許多知識**於老九學堂的qt框架課,所以在這給老九打波廣告吧)
話不多說,開始關於stl的學習。
stl全稱為standard template library,中文名叫做標準模板庫,由當年惠普實驗室開發的一系列軟體統稱,目的是借助模板,實現資料結構與演算法的功能。為我們的程式設計帶來了極大的便利,並被納為了c++的一部分,它由標準c++的i/o庫、容器和迭代器庫和演算法庫組成,包含一組巨集、函式型別和物件宣告組成。
下面展示一些 。
方式一
#include
#include
//引入此標頭檔案
using
namespace std;
intmain()
cout << content << endl;};
_io_file()
;}
這樣的執行結果為:我們通過執行這個程式,讀取了其本身的源**,並利用字串的拼接還原列印出了此源**。同時,我們又輸出了乙個名為copy_lbt的檔案,將我們的源**輸出到了這個新建的檔案裡面。
這個就是檔案流的乙個操作展示。
方式二
#include
#include
//要引入此標頭檔案
using
namespace std;
intmain
(int argc,
char
* ar**)
//這裡由作業系統傳來兩個引數argc與ar**,ar**為指標的指標,argc為整數
/** * 假設程式名稱為program
* argc = 1,表示只有乙個程式名稱,ar**[0]指向輸入的程式路徑及名稱
* 輸入prog para_1 para_2時有兩個引數
* argc = 3,表示除了程式名外還有兩個引數
* ar**[0]指向程式名稱,ar**[1]指向引數para_1字串,ar**[2]指向para_2字串
*/};//再次宣告乙個函式
auto showfiletwo =
[argc,ar**,process]()
else
//關閉檔案流
input.
close()
;}};
showfiletwo()
;return0;
}
#include
#include
//要引入此標頭檔案
#include
#include
using
namespace std;
intmain
(int argc,
char
* ar**)
;//宣告乙個format函式
auto format =
(const string& s)
->string
;//宣告乙個valid
auto valid =
(const string& content)
->
bool
;//宣告乙個函式
auto getdata =
(istream& input)
->vector
//把物件放到容器中
people.
push_back
(data);}
//返回集合
return people;};
//在書寫乙個函式
auto stringprocess =
[valid,format]
(ostream output, vector people)
->ostream&
else
}//再判定一下
if(badnumbers.
str().
empty()
) output << entry-
>name <<
" "<< formatted.
str(
)<< endl;
else
cerr <<
"輸入錯誤:"
<< entry-
>name <<
"非法的**號碼:"
<< badnumbers.
str(
)<< endl;
}return output;};
stringprocess
(cout,
getdata
(cin));
return0;
}
i/o部分的學習就差不多了,其中其實還涉及了很多知識點
如:函式的lambda表示式,系統引數argc與ar**,vector容器類的操作和迭代器的使用,還有i/o的很多靈活操作,需要好好消化才能比較好的理解所學的這部分內容。目前有一些無法很好的理解十分正常,就是不要死磕,可以先往後面去學習,再回過頭來重新回顧,很多比較難懂的就會融匯貫通。
之後會交叉更新codewars上面的認為好的題目,以及stl的學習。emmm。。。大概就是這樣吧。
C STL程式設計學習(三)
結束函式模板就是把函式型別引數化了,類模板則也是一樣的。template class t class person void show t mid t mage void test01 就創造了單個的類模板,這裡由於類模板必須顯式指定型別,所以用了 int 表示這個person是int型別的 類模板...
C STL學習記錄一
常數型成員函式,在類中宣告的格式有三種 1。防止本函式誤寫引數變數的 返回值型別 函式名 const 引數,const 引數,2。防止本函式誤寫類物件內全部的變數的 返回值型別 函式名 參數列 const 3。防止其他函式誤寫返回位址或引用的 const 返回值型別 函式名 參數列 拷貝建構函式定義...
C STL學習筆記一
資料結構與演算法是程式設計的核心,stl中包含各種資料結構和優秀的演算法,確實值得深入學習,本文中雖然著重使用,但希望有心的朋友能多看看相關資料結構的實現,對於c 語言確實會有較大幫助。ps 按照網上孟巖老師的安裝方法,我出現了一些問題,後來按照上面文章所說的安裝成功。關於為何採用sgi版本stl庫...