iostream cin cout ofstream out file stream ifstream in file stream fstream file streaam 双向流 ios::app append ios::ate at end ios::in in ios::trunc trancate
close() 函数是 fstream、ifstream 和 ofstream 对象的一个成员。 写入文件: ofstream 或 fstream 对象; 读取文件:ifstream 或 fstream 对象;
#include <fstream>
#include <iostream>
using namespace std;
int main ()
{
char data[100];
ofstream outfile;
outfile.open("afile.dat");
cout << "Writing to the file" << endl;
cout << "Enter your name: ";
cin.getline(data, 100);
outfile << data << endl;
cout << "Enter your age: ";
cin >> data;
cin.ignore();
outfile << data << endl;
outfile.close();
ifstream infile;
infile.open("afile.dat");
cout << "Reading from the file" << endl;
infile >> data;
cout << data << endl;
infile >> data;
cout << data << endl;
infile.close();
return 0;
}
嵌套地命名空间
namespace namespace_name1 {
namespace namespace_name2 {
}
}
不连续的命名空间 下面的命名空间定义可以是定义一个新的命名空间,也可以是为已有的命名空间增加新的元素:
namespace namespace_name {
}
访问嵌套命名空间
using namespace namespace_name1::namespace_name2;
using namespace namespace_name1;
预定于做选择
#ifdef SOMETHING
namespace space1{
#endif
#ifdef SOMETHING
}
#endif
c++头文件样式
#include <iostream>
#include <vector>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <cgicc/CgiDefs.h>
#include <cgicc/Cgicc.h>
#include <cgicc/HTTPHTMLHeader.h>
#include <cgicc/HTMLClasses.h>
模板函数定义的一般形式如下所示:
template <typename type>
ret-type func-name(parameter list)
{
}
类模板定义
template <class type>
class class-name {
.
}
真实样式
template <class T>
class Stack {
private:
vector<T> elems;
public:
void push(T const&);
void pop();
T top() const;
bool empty() const{
return elems.empty();
}
};
异常捕获
try
{
}catch( ExceptionName e1 )
{
}catch( ExceptionName e2 )
{
}catch( ExceptionName eN )
{
捕获所有地异常
try
{
}catch(...)
{
}
可以通过继承和重载 exception 类来定义新的异常
struct MyException : public exception
{
const char * what () const throw ()
{
return "C++ Exception";
}
};
what() 是异常类提供的一个公共方法,它已被所有子异常类重载。这将返回异常产生的原因 这里好像是结构体的继承和虚函数重写;
|