標準C++庫常見函數

標準C++庫常見函數
1、 格式化輸出:

1) width()函數:可以爲接下來的所有顯示要素指定默認的寬度。

2) setw()函數:設置數據項實用的寬度

3) fill()函數:當輸入寬度非默認寬度時可以設置填充字符的值

4) setiosflags(ios::left)函數:表示輸出值的對其方式

5) dechexoct本別表示十進制、十六進制和八進制

6) put:把單個字符寫入輸入流中

7) get:類似於提取運算符>>,知識空字符被包含到輸入中。


#include <iostream>

int main()
{
    
char line[25], ch = 0*cp;

    std::cout 
<< " Type a line terminated by 'x'"
              
<< std::endl << '>';
    cp 
= line;
    
while (ch != 'x')
    {
        std::cin 
>> ch;
        
*cp++ = ch;
    }
    
*cp = '/0';
    std::cout 
<< ' ' << line;

    std::cout 
<< "/n Type another one" << std::endl << '>';
    cp 
= line;
    ch 
= 0;
    
while (ch != 'x')
    {
        std::cin.
get(ch);
        
*cp++ = ch;
    }
    
*cp = '/0';
    std::cout 
<< ' ' << line;
    
    
return 0;
}

2、 

1)ofstream類:文件輸出

#include <fstream>
#include 
<iostream>

int main()
{
    std::cout 
<< "Opening file" << std::endl;
    std::ofstream tfile(
"test.dat", std::ios::app);

    std::cout 
<< "Writing to file" << std::endl;
    tfile 
<< ", and these are more";

    
return 0;
}
標誌 描述
app 把所有的新數據寫到文件尾部
ate 把所有的新數據寫到文件尾部,如果程序移動了文件指針,就把數據寫到當前位置
binary 以二進制模式而不是文本模式打開文件
out    打開由於輸出的文件,刪除文件的當前內容。該模式只在沒有指定文件打開模式時使用
trunc  打開用於輸出的文件,刪除文件的當前內容
      相關函數:
函數 描述
attach() 把打開的文件與流關聯
close() 在刷新未保存的數據後關閉文件
flush() 刷新流
open() 打開一個文件並把它與流關聯
put() 向流中寫入一個字符
rdbuf() 返回與流關聯的filebuf對象
seekp() 設置流文件指針的位置
setmode() 把流設置成二進制模式或文本模式
tellp() 獲取流文件指針的位置
write() 向流中寫入一組字節

#include <iostream>
#include 
<string>
#include 
<fstream>


int main() 
{     
    std::
string str("This is a test");
    
    
// Create an output stream object.
    std::ofstream tfile;
    
    
// Associate a file with the stream.
    tfile.open("testfile.txt");
    
    
// Write a string one character at a time.
    for (int x=0; x<14++x)
    
{
        std::cout 
<< "File pointer: " << tfile.tellp();
        tfile.put(str[x]);
        std::cout 
<< "  " << str[x] << std::endl;
    }

    
    
return 0;
}


2)ifstream類:輸出類
      相關函數
eof() 測試文件是否結束
seekg() 在文件中定位,有beg、cur和end表示起始位置,seekg(5,ios::cur)
tellg() 指示在文件中的位置
#include <fstream>
#include 
<iostream>

int main()
{
    std::ifstream tfile(
"test.dat");
    tfile.seekg(
6);        // Seek six characters in

    
while (!tfile.eof())
    {
        
char ch;
        tfile.
get(ch);
        
if (!tfile.eof())
            std::cout 
<< ch;
    }

    
return 0;
}
3)文件的輸入輸出
#include <fstream>
#include 
<cctype>
#include 
<iostream>

int main()
{
    
char* fname = "test.dat";

    
// Read the file into an array.
    std::ifstream tfile(fname, std::ios::in |
        std::ios::
out | std::ios::binary);
    std::ostream ofile(tfile.rdbuf());
    
char tdata[100];
    
int i = 0;
    
while (!tfile.eof() && i < sizeof tdata)
        tfile.
get(tdata[i++]);

    
// Write the array to the file.
    ofile.seekp(0, std::ios::end);
    ofile 
<< "/r/n";
    
for (int j = 0; j < i-1; j++)
        ofile.put(static_cast
<char>(toupper(tdata[j])));
    
    
return 0;
}
文件輸入/輸出
#include <iostream>

#include 
<iomanip>

using namespace std;
int main()

{

       cout.width(
10);

       cout
<<setiosflags(ios::left)<<oct<<25<<endl;

       cout.width(
10);

       cout
<<setiosflags(ios::right)<<hex<<25<<endl;

       cout
<<dec<<setfill('b')<<setw(10);

       cout
<<1024<<"OK"<<endl;

       cout.put(
'H'); 

    
return 0;

}

原帖地址:http://www.cppblog.com/The-Moment/archive/2009/06/22/88250.html

發佈了34 篇原創文章 · 獲贊 1 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章