zoukankan      html  css  js  c++  java
  • infos

    C++文件流

    iostream 提供了cin cout 分别用于从标准输入读取流和向标准输出写入流
    cout 标准输出 屏幕 输出写入
    fstream文件流

    cin 从标准输入读取
    cout 向标准输入写入


    ofstream 向文件写入
    ifstream 从文件读取
    fstream 从文件读取、向文件写入

    文件处理 <iostream>
    <fstream>
    打开文件 从文件读取信息或者向文件写入信息ofstream ifstream;
    必须先打开
    ofstream和fstream对象都可以用来打开文件进行写操作
    打开文件进行读取ifstream fstream

    open()函数标准语法
    open()函数是fstream ifstream ofstream对象的一个成员
    void open(const char *filename,ios::openmode mode);
    open()成员函数的第一个参数指定要打开的文件的名称和位置 要打开的文件的名称位置,第二个参数定义文件被打开的模式
    ios::app
    ios::ate 文件打开后定位到文件末尾
    打开模式
    iso::in
    ios::out 写入
    ofstream 写入
    ios::trunc 文件已经存在 内容将在打开文件之前被切段 文件长度为0
    两种或是两种以上模式集合使用
    写入模式ios::out
    ios::in 读取
    ifstream

    ofstream

    打开一个文件用于读写
    fstream afile;

    声明对象
    类对象成员
    fstream ffile
    ffile.open("file.dat",ios::out | ios::in)

    关闭文件
    程序终止 会自动关闭刷新流 释放所有分配的内存 关闭打开的文件
    函数是 类对象的成员
    fstream ifstream ofstream类对象成员
    void c loese()

    写入文件
    流插入运算符<<向文件写入信息
    输出信息到屏幕 ofstream fstream

    刘提取 读取
    ifstream fstream


    流插入

    文件位置指针
    istream和ostream都提供了用于重新定义文件位置指针的成员函数重新定位文件位置指针函数成员函数包括关于
    istream seekg("seek get")


    文件位置指针
    file seek pointer;
    position

    istream ostream 提供了用于重新定位文件位置指针的成员
    重新定位文件位置指针的成员函数
    seekg 长整形 指定查找方向


    fileObject.seekg(n);
    把文件的度读指针从fileObject当前位置向后移n个字节

    fileObject.seekg(n,ios::end)
    文件的读指针从fileObjace末尾往回移动n个字节

    定位到fileObject末尾
    fileObject.seekg(0,ios::end);

    写(输出) 与 流插入运算符<<
    读(输入) 与 流提取运算符 >>
    exception 异常程序在执行期间产生的问题
    程序运行时发生的特殊情况异常提供了一种转移程序控制权的方式
    c++异常处理涉及到三个关键字try catch throw
    throw问题出现 程序抛出异常 通过throw关键字完成
    catch 想要处理问题的地方,通过异常处理程序捕获异常catch关键字 catch捕获异常

    try
    try中的代码标识将被激活的特殊异常 try跟多个catch
    有一个块抛出异常 捕获异常的方法使用try catch try块中放置可能抛出异常的 代码
    try中放置可能抛出异常的代码,try块中的代码被称为保护代码
    try放置可能抛出异常的代码,try块中的 代码被称为保护代码

    try
    {
    //保护代码
    }catch(ExceptionName e1)
    {
    //catch block
    }catch(ExceptionName e2)
    {
    //catch block
    }catch(ExceptionName eN)
    {
    //catch block;
    }

    C++异常处理
    执行期间产生的问题
    运行发生的特殊情况 异常提供了一种转移程序控制权的方式
    throw 出现问题 程序抛出异常
    catch 想处理问题的地方 通过异常处理程序捕获异常 catch关键字用于捕获异常
    try块中的代码标识将被激活的特定异常
    try块代码标识将被激活的特定异常
    try块中的保护代码标识将被激活的特定异常
    malloc() new不只是分配内存任何 动态分配内存的变量不再需要使用 delete操作符释放占用内存
    delete pvalue;
    堆:函数中暂时未使用的内存 在程序运行 用于动态分配的内存
    栈:函数中所有申明的变量使用的内存都是

    stack
    namespace
    区分它们 使用名字之外使用一些额外的信息 std::
    应用程序
    可用的库中也存在一个相同的函数
    编译器无法判断 那个
    命名空间 作为附加信息来区分库相同名称的标识
    上下文
    使用命名空间定义了上下文 命名空间就是定义了一个范围
    定义命名空间
    命名空间的定义使用关键字namespace using namespace std;
    命名空间的定义使用关键字namespace 后跟命名空间的名称;
    namespace namespace_name
    {
    //

    为了调用带有命名空间的函数或变量,需要在前面加上命名空间的名称
    name::code; code 变量函数
    命名空间如何为变量或函数等实体定义范围
    命名空间如何为变量或函数等实体定义范围
    using
    使用using namespace 這样在使用命名空间时就可以不用在前面加上命名空间的名称
    這个指令告诉编译器 后续的代码将使用指定的命名空间中的名称
    using namespace 使用命名空间 不用在前面加上命名空间的名称 告诉编译器 后续的代码将使用指定的命名空间名称

    using指令 指定命名空间中的特定项目
    使用std命名空间的cout
    using std::cout;

    命名空间中特定名称
    using namespace::item
    整个命名空间
    using namespace namespaceName;
    随后代码 使用cout不用加命名空间名称作为前缀
    但是std命名 空间其他项目仍加上命名空间名称作为前缀
    using指令引入的名称遵循正常的范围规则

    using指令引入的名称遵循正常的范围规则 名称从使用using指令可见
    using
    命名空间可以定义在几个不同的部分
    不连续命名空间
    命名空间定义在几个不同的部分命名空间由几个单独定义的部分组成命名空间的各个组成部分可以分散在多个文件

    具体到那个命名空间下的项目item using namespaceName::item
    引入命名空间 下 的所
    using namespace namespaceName

    模板
    泛型编程的基础
    泛型编程以一种独立任何特定类型的方式编程
    泛型编程即以一种独立于任何特定类型的方式编写代码

    库容器 迭代器
    template 模板泛型编程的
    函数模板
    template <class type> ret-type func-name(parameter list);
    template
    模板支持参数化多态工具 模板使用户为类或者函数
    模板 使用模板 可以使用户为类或者函数声明一种一般模式 是用户为类或函数申明为一种一般模式
    使得类中的某些数据成员或者成员函数的参数
    模板支持参数化多态 模板可以使用户为类或者函数声明一种一般模式
    类中 的某些数据成员或者成员函数的参数 返回值取得任意类型
    模板 是一种对类型进行参数化的工具
    让程序的实现与类型无关

    模板的声明定义只能在全局
    不能在main函数中声明或定义模板

    既可以在该函数中使用内置类型的地方都可以使用模板形参参数
    模板形参需要调用该模板函数 提供的模板实参来初始化模板形参
    一旦编译器确定了实际的模板实参类型就称实例化为函数模板的一个实例
    函数模板调用
    都是以template开始后接模板形参列表组成 模板形参列表 模板形参不能为空
    typename class 一样表明后面的符号为一个类型
    定义模板
    表明后面的符号为类型
    template<typename T>

    使用嵌套依赖类型
    nested depended name

    多线程 多任务处理的特殊形式
    多任务处理允许让电脑同时运行多个程序
    多线程 task 多任务 多线程 多任务
    多任务处理允许让电脑同时运行两个

  • 相关阅读:
    mysql 大数据量求平均值
    mysql 大数据量求平均值
    dhcpd.conf(5)
    dhcpd.conf(5)
    学习记录(文章内容来自相关材料)
    分享一个ASP.NET 文件压缩解压类 C#
    服务降级
    distinct用法
    trim合理和谐
    小娱乐一下,fileInfo中的Name ,FullName的用法小BUG
  • 原文地址:https://www.cnblogs.com/ruiy/p/7390968.html
Copyright © 2011-2022 走看看