复习

对于虚函数,父类无法直接访问子类的新定义成员,但是可以通过子类成员函数内部简介使用子类成员

I\O流:

文件流:
C++的文件打开方式:

ios::in 读取
ios::out 写入(如果文件不存在,可以自动创建,且打开之后清空原内容)
ios::app 追加
ios::binary 二进制

为什么 in 表示读取,out表示写入,是以程序而言,相间附图 inout含义解释)
C++_I/O流

  • 文件打开方式组合用 | 连接

put() put() 函数

   char ch = 'A';
   file.put(ch);//写一个字符到文件中
  get()函数
   char str[128];
   file.get(ch);//读取文件中的一个字符
   ch = file.get();//读取文件中的一个字符
   file.get(str,128);//从文件中读取一个字符串,长度不超过128
   file.get(str, 128, 'A');//从文件中读取一个字符串,长度不超过128,遇到空格A结束


 (注意,get函数遇到换行会自动停止)

read函数 write函数

 char str1[200];
   file.read(str1,128);//从文件中读取128个字节的内容放到str中
   int x;
   file.read((char*)&x, sizeof(int));//从文件中读取一个int,放到x当中
   file.write((char*)&x, sizeof(int));
  getline 函数
   file.getline(str, 128);
   file.getline(str, 128,' ');
  cin cout 输入输出运算符
   file >> x;//用文件中的内容给x赋值
   file << x;//在文件中输出x的值
  seekp tellp-得到文件指针偏移量
   streamoff off=file.tellp();//streamoff 就相当于int
   file.seekp(0,ios::beg);

输入输出流(并不理解是什么意思)
C++_I/O流
(头文件-iomanip)

  • cin.get

  • cin.getline

  • 关于cout的几个输出控制方式

说明:

  • 文本文件也称为字符流;二进制文件也称为字节流
  • C语言通过文件指针对文件进行操作
  • C++通过对象对文件进行操作
  • ios::beg 表示文件开头
  • ios::cur 表示文件当前位置
  • ios::end 文件结尾
  • hex-16进制、otc-8进制、dec-10进制

代码实例

#include<iostream>
#include<fstream>
#include<iomanip>//用来控制cout的输出
using namespace std;
int main()
{
 fstream file;
 //文件写入函数
 file.open("1.txt", ios::out);
 //判断文件是否打开成功-is_open函数
 if (file.is_open())cout << "文件打开成功" << endl;
 else
 {
  cout << "文件打开失败" << endl;
 }
 char ch = 'A';
 char str[128];
 file.put(ch);//写一个字符到文件中
 file.get(ch);//读取文件中的一个字符
 ch = file.get();//读取文件中的一个字符
 file.get(str,128);//从文件中读取一个字符串,长度不超过128
 file.get(str, 128, 'A');//从文件中读取一个字符串,长度不超过128,遇到空格A结束
 //read函数和write函数
 char str1[200];
 file.read(str1,128);//从文件中读取128个字节的内容放到str中
 int x;
 file.read((char*)&x, sizeof(int));//从文件中读取一个int,放到x当中
 file.write((char*)&x, sizeof(int));
 //getline 函数
 file.getline(str, 128);
 file.getline(str, 128,' ');
 //cin cout 输入输出运算符
 file >> x;//用文件中的内容给x赋值
 file << x;//在文件中输出x的值
 //tellp得到指针偏移量、seekp
 streamoff off=file.tellp();//streamoff 就相当于int
 file.seekp(0,ios::beg);
 file.close();
 //输入输出关系
 int num = 20;
 cout << "C++中常见的格式控制" << endl;
 cout << hex<<num << endl;//hex 表示用十六进制打印后面的内容 otc-8 dec-10
 cout << setw(5) << setfill('A') << num << endl;//至少输出5位,不足的用字符填充
 cout << setiosflags(ios::left) << setw(5) << setfill('A') << num << endl;//setiosflags(ios::left)  设置左对齐、setw(5)至少输出5位、setfill('A')不足用A填充
 cout << "以下内容用于说明精度控制函数setprecision()函数、setiosflags(ios::fixed)强制用小数输出" << endl;
 float weight = 3.141592657;
 cout << weight << endl;
 cout << setprecision(10) << setiosflags(ios::fixed) << weight << endl;
 cin.get();
 return 0;
}

相关文章:

  • 2021-12-28
猜你喜欢
  • 2022-01-14
  • 2021-04-20
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
  • 2021-09-04
相关资源
相似解决方案