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

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

  • 相关阅读:
    windows中80端口被System占用,PID=4的问题
    SpringBoot中动态加载(热部署)
    eclipse中Cannot change version of project facet Dynamic Web Module to 3.0的问题解决
    Eclipse启动tomcat后404错误
    Eclipse在当前行之上插入一行
    Java中==规则
    简明log4j配置教程
    CentOS7 配置静态IP
    CentOS7 mini安装后没有ifconfig命令的解决办法
    shell编程学习笔记之sed编辑器
  • 原文地址:https://www.cnblogs.com/feng-ying/p/10471325.html
Copyright © 2011-2022 走看看