【转】标准C++库常见函数

标准C++库常见函数

1、 格式化输出:

1) width()函数:可以为接下来的所有显示要素指定默认的宽度。

2) setw()函数:设置数据项实用的宽度

3) fill()函数:当输入宽度非默认宽度时可以设置填充字符的值

4) setiosflags(ios::left)函数:表示输出值的对其方式

5) dec、hex和oct本别表示十进制、十六进制和八进制

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;
}

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

posted @ 2012-05-23 16:52  Charles-Lee  Views(715)  Comments(0Edit  收藏  举报