問題01:如何垂直排列文本輸出,使其左對齊或右對齊
成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元固始做網(wǎng)站,已為上家服務(wù),為固始各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
使用標(biāo)準(zhǔn)的流操作符來設(shè)置字段的寬度和對齊方式。一個(gè)操作符就是操作在流上的函數(shù),通過操作符<<將這些操作函數(shù)應(yīng)用到流上。
- #include <iostream>
- #include <iomanip>
- using namespace std;
- int main()
- {
- ios_base::fmtflags flags = cout.flags();
- int width = 10;
- cout << left
- << setw(width) << "Jim"
- << setw(width) << "Tom"
- << setw(width) << "Bill" << endl;
- cout << right
- << setfill('.')
- << setw(width) << "Jim"
- << setw(width) << "Tom"
- << setw(width) << "Bill" << endl;
- return 0;
- }
- // output
- Jim Tom Bill
- .......Jim.......Tom......Bill
問題02:如何格式化輸出浮點(diǎn)數(shù)
使用<iomanip>和<ios>提供的標(biāo)準(zhǔn)操作來控制寫入流中的浮點(diǎn)數(shù)的格式。
- #include <iostream>
- #include <iomanip>
- #include <ios>
- using namespace std;
- int main()
- {
- ios_base::fmtflags flags = cout.flags();
- double pi = 3.14159265;
- cout << setprecision(5) << pi << endl;
- cout << fixed << showpos << setprecision(3) << pi << endl;
- cout << scientific << noshowpos << pi << endl;
- cout.flags(flags);
- return 0;
- }
- // output
- 3.1416
- +3.142
- 3.142e+00
問題03:如何復(fù)制文件
使用<fstream>中的C++文件流來把數(shù)據(jù)從一個(gè)流復(fù)制到另一個(gè)流。打開文件的方式在類ios中定義,常用的值如下:
>> ios::app:以追加的方式打開文件
>> ios::ate:文件打開后定位到文件尾,ios:app就包含有此屬性
>> ios::binary:以二進(jìn)制方式打開文件,缺省的方式是文本方式。兩種方式的區(qū)別見前文
>> ios::in:文件以輸入方式打開
>> ios::out:文件以輸出方式打開
>> ios::nocreate:不建立文件,所以文件不存在時(shí)打開失敗
>> ios::noreplace:不覆蓋文件,所以打開文件時(shí)如果文件存在失敗
>> ios::trunc:如果文件存在,把文件長度設(shè)為0
- #include <fstream>
- using namespace std;
- int main()
- {
- fstream in("/root/.bashrc", ios::binary | ios::in);
- fstream out("/tmp/bashrc", ios::binary | ios::out);
- out << in.rdbuf();
- in.close();
- out.close();
- return 0;
- }
問題04:如何刪除或重命名文件,并且這些操作是可移植的
使用定義在<cstdio>中的標(biāo)準(zhǔn)C函數(shù)remove和rename。如果操作失敗,函數(shù)將返回非零值,并設(shè)置errno。你可以使用strerror來將錯誤信息輸出到cerr流中。
問題05:如何創(chuàng)建臨時(shí)文件
有兩種辦法可以用來創(chuàng)建一個(gè)臨時(shí)文件。聲明在<cstdio>中的tmpfile函數(shù)不帶任何參數(shù),并且成功后返回一個(gè)FILE*指針,不成功返回一個(gè)NULL。你可以使用C的輸入輸出函數(shù)fread、fwrite、fgets、fputs等來操作它。tmpfile使用"wb+"的方式打開文件,并在程序退出后,自動刪除該文件。
如果你需要一個(gè)具名的臨時(shí)文件,那么tmpnam可以滿足你的要求。tmpnam事實(shí)上不會產(chǎn)生一個(gè)臨時(shí)文件,它只是創(chuàng)建一個(gè)唯一的文件名,你可以用這個(gè)文件名來打開一個(gè)文件。tmpnam帶一個(gè)char*類型的參數(shù)并返回一個(gè)char*類型的值。你可以使用一個(gè)指向一個(gè)字符緩存的指針來傳遞它,但必須至少有L_tmpnam內(nèi)存,tmpnam將復(fù)制這個(gè)臨時(shí)的名字,并且返回一個(gè)指向這個(gè)緩存的指針。如果你傳遞一個(gè)NULL值的話,tmpfile將返回一個(gè)指向一個(gè)包含文件名的靜態(tài)緩存指針,也就意味著隨后的tmpnam調(diào)用將會改寫它。
本文題目:Cookbook系列之Cpp:數(shù)據(jù)流與文件
鏈接URL:http://www.rwnh.cn/article38/psgipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站制作、品牌網(wǎng)站制作、定制開發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)