内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Cookbook系列之Cpp:數(shù)據(jù)流與文件

問題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)用到流上。

  1. #include <iostream>
  2. #include <iomanip>                                                                
  3.                                                                                   
  4. using namespace std;                                                              
  5.                                                                                   
  6. int main()                                                                        
  7. {                                                                                 
  8.     ios_base::fmtflags flags = cout.flags();                                      
  9.     int width = 10;                                                               
  10.                                                                                   
  11.     cout << left                                                                  
  12.          << setw(width) << "Jim"                                                  
  13.          << setw(width) << "Tom"                                                  
  14.          << setw(width) << "Bill" << endl;                                        
  15.                                                                                   
  16.     cout << right                                                                 
  17.          << setfill('.')                                                          
  18.          << setw(width) << "Jim"                                                  
  19.          << setw(width) << "Tom"                                                  
  20.          << setw(width) << "Bill" << endl;                                        
  21.                                                                                   
  22.     return 0;                                                                     
  1. // output 
  2. Jim       Tom       Bill       
  3. .......Jim.......Tom......Bill 

問題02:如何格式化輸出浮點(diǎn)數(shù)

    使用<iomanip>和<ios>提供的標(biāo)準(zhǔn)操作來控制寫入流中的浮點(diǎn)數(shù)的格式。

  1. #include <iostream>
  2. #include <iomanip>                                                                
  3. #include <ios>                                                                    
  4.                                                                                   
  5. using namespace std;                                                              
  6.                                                                                   
  7. int main()                                                                        
  8. {                                                                                 
  9.     ios_base::fmtflags flags = cout.flags();                                      
  10.     double pi = 3.14159265;                                                       
  11.                                                                                   
  12.     cout << setprecision(5) << pi << endl;                                        
  13.                                                                                   
  14.     cout << fixed << showpos << setprecision(3) << pi << endl;                    
  15.                                                                                   
  16.     cout << scientific << noshowpos << pi << endl;                                
  17.                                                                                   
  18.     cout.flags(flags);                                                            
  19.                                                                                   
  20.     return 0;                                                                     
  1. // output 
  2. 3.1416 
  3. +3.142 
  4. 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 

  1. #include <fstream> 
  2.  
  3. using namespace std; 
  4.  
  5. int main() 
  6.     fstream in("/root/.bashrc", ios::binary | ios::in); 
  7.     fstream out("/tmp/bashrc", ios::binary | ios::out); 
  8.  
  9.     out << in.rdbuf(); 
  10.  
  11.     in.close(); 
  12.     out.close(); 
  13.  
  14.     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)

h5響應(yīng)式網(wǎng)站建設(shè)
南皮县| 湘阴县| 西充县| 淮滨县| 南安市| 从化市| 左贡县| 离岛区| 遵义县| 延川县| 曲麻莱县| 松溪县| 奈曼旗| 莱西市| 荔波县| 自贡市| 鹤山市| 米易县| 深州市| 长丰县| 保亭| 珠海市| 海宁市| 鲁山县| 孝昌县| 德庆县| 普兰县| 湘西| 泸溪县| 井陉县| 阳朔县| 万宁市| 习水县| 淄博市| 黔南| 额尔古纳市| 宁津县| 大庆市| 石阡县| 大名县| 松原市|