zoukankan      html  css  js  c++  java
  • c++ new,文件输入输出

    1. c++使用new来分配内存,delete清除内存

    下面代码显示了如何new int 数据内存,new int[size] 数组内存,与java不同的是这里的size不能省略,new People(构造函数的参数)

    如果是结构体,采用以下格式

    使用delete删除指针,但是如果指针指向的是数组,需要使用delete []来删除

    2. C++的cin,cin.get(),cin.getline()方法异同

    a. cin使用空白(空格,制表符,换行符)来确定字符串结束的位置,意味着cin在获取字符数组输入时只读取一个单词,读取该单词后,cin将字符串放到数组中,并在结尾自动添加空字符

    b. int cin.get():比如回车的返回值是10

    istream& cin.get(char& var)

    istream& cin.get(char* s, streamsize n):

    istream& cin.get(char* s, streamseize n, char delim):读取到delim时停止

    后面继续跟上一个get()可以实现getline的效果

    潜在的问题:输入的字符串比分配的空间长,如果输入行的字符串比指定的多,getline()和get()将把剩余的字符留在输入队列中。

    c. cin.getline(char* s, streamsize count):面向行的输入,第一个参数用来存储输入行的数组的名称,第二个参数是读取的字符数

    3. 如果系统需要用户输入数字,当用户输入的不是数字时,该程序不再读取输入,当用户输入是非数字输入,用户将拒绝,并要求用户继续输入数字:

    (1). 重置cin以接收新的输入

    (2). 删除错误输入

    (3). 提示用户再输入

    a = cin.get() 如果类型不匹配错误的话,cin.fail()也会返回

    4. strcmp(char*, char*):使用两个字符串地址作为参数,这意味着参数可以是指针,字符串常量或者字符数组名,如果两个字符串相同,将返回0,如果第一个字符串按字母顺序在第二个字符串之前,则strcmp()将返回一个负值,如果第一个字符按照字母顺序排在第二个字符串之后,则strcmp()将返回一个正数值,需要包含<cstring>

    strcpy(char *, const char*):拷贝后面的常量到前面的char指针中,会报错,需要使用  #prama warning(disable:4996)

     5. 简单的文件输入和输出

    5.1 写入到文本文件中

    必须包含头文件fstream,头文件定义了一个可以用于处理输出的ofstream类,需要声明一个或者多个ofstream对象,并以自己喜欢的方式对其进行命名,条件是遵守命名规则,必须指明名称空间std,例如,引用元素ofstream,必须使用编译指令或前缀std::。必须将ofstream对象与文件关联起来,方法之一是使用open()方法,使用完文件后,使用close()将其关闭,结合ofstream对象和运算符<<来输出各种类型的数据

    主要步骤:a. 包含头文件fstream

    b. 创建ofstream对象

    c. 将该ofstream对象和同一文件关联起来

    d. 像使用cout那样使用ofstream对象

    输出结果

     5.3 读取文本文件

    必须包含头文件fstream,头文件fstream定义了一个用于处理输出的ifstream类,需要声明一个或者多个ifstream对象,并以自己喜欢的方式命名,必须指名命名空间std,使用using或者前缀std::,使用完文件以后,应使用close()方法将其关闭。可以使用ifstream对象和运算符>>来读取各种类型的数据,可以使用ifstream对象和get()方法来读取一个字符,使用ifstream对象和get()方法来读取一个字符,使用ifstream对象和getline()来读取一行字符,可以结合使用ifstream和eof(),fail()等方法来判断操作是否成功

    如果试图一个文件被成功打开,方法is_open()将返回true,如果文件没有被打开!inFile.isopen()将为true,函数exit()的原型是在cstdlib定义的。

    inFile.open("bowling.txt");
    if(!inFile.is_open()){
        exit(EXIT_FAILURE);
    }

    该程序打开用户指定的文件,读取其中的数字,然后指出文件中有多少个值,以及它们的和,平均值

  • 相关阅读:
    【NOIP2007】守望者的逃离
    20200321(ABC)题解 by 马鸿儒 孙晨曦
    20200320(ABC)题解 by 王一帆
    20200319(ABC)题解 by 王一帆 梁延杰 丁智辰
    20200314(ABC)题解 by 董国梁 蒋丽君 章思航
    20200309(ABC)题解 by 梁延杰
    20200307(DEF)题解 by 孙晨曦
    20200306(ABC)题解 by 孙晨曦
    20200305(DEF)题解 by 孙晨曦
    20200303(ABC)题解 by 王锐,董国梁
  • 原文地址:https://www.cnblogs.com/feng-ying/p/10471325.html
Copyright © 2011-2022 走看看