C++ 输入输出流

        内存中有一片缓冲区,对于cin来讲,从输入设备输入的数据先放在缓冲区,当遇到回车键时,程序从缓冲区提取数据送给有关变量。输入数据的终止符(单个数据)有空格、回车、Tab键。

        对于cout来讲,当缓冲区满了或者遇到endl,就将缓冲区的全部数据送到显示器显示。

C++ 输入输出流_第1张图片

例程:

#include 
#include 
#include 
using namespace std;

int main()
{
	/************输入输出****************/

	//标准输入输出

	int a[20];
	char ch[30], mv[30];
	char myc[] = "i love china.i have a book ?";
	char* pc = myc;

	//字符读入
	cout << "请输入两个英文句子" << endl; //i love nuaa. i love china.i have a book?

	//使用cin读入
	cin >> ch >> ch;
	cout << "cin:" << ch << endl;   //l1 只能输出一个字符

	//无参读入单字符
	ch[1] = cin.get();
	ch[2] = cin.get();
	//一参读入单字符
	cin.get(ch[3]); //第二中写法
	cout << "get():" << ch << endl; //l2
	string S1;
	//两参读入多字符。默认遇到/n结束
	cin.get(ch, 5);
	cout << ch << endl;  //l3
//三参读入多字符
	cin.get(ch, 5, '.');
	cout << ch << endl;  //l4


	cout << "请再次输入" << endl;
	cin.clear();
	cin.ignore(numeric_limits< std::streamsize>::max(),'\n'); //清空缓存区当前行
	//读入一行字符

	cin.getline(mv, 5);
	cout << mv << endl;  //l5
	cin.getline(mv, 5,'.');
	cout << mv << endl;  //l6

//字符输出
	cout.put('o').put(*myc).put(*(myc + 1)).put(*(myc + 2)).put('\n');
	cout.write(myc, 3).write(myc, 5).put('\n');
	cout.write("this is", 7).write(myc, size(myc)).put('\n');

	return 0;
}

 一、输入流

(20条消息) C++编程——cin、getline()、get()_cin结束标志_sxr__nc的博客-CSDN博客https://blog.csdn.net/sxr__nc/article/details/105318570

1. cin

        连续读取缓冲区数据时会跳过空格、回车、Tab键,用这些终止符作为单位变量的数据分隔符

2. 多字符读入getline(二参、三参)

        连续读取缓冲区数据时会跳过指定符号(默认回车键),多个字符赋给字符数组。

        带参数的getline支持连续调用:

cin.getline(a,5).getline(a,5,'/')

3. 字符读入get(无参、一参、二参、三参)

        输读取缓冲区数据时全部读取,不会跳过特殊字符。单个字符赋给字符变量、多个字符赋给字符数组。

cin.get(a,5).get(a,5,'/')

二、输出流

1. cout

2. 字符读入put

cout.put(a).put(b);

3. 多字符读入write

cout.write(ch,4).write(mv,6);

三、文件的输入输出

数据文件包括:

(1)ASCII文件:也叫文本文件或字符文件,每个字节放一个字符。

(2)二进制文件:数据按照存储形式来输出。如一个字符文件占7bit,而不是1字节。当数据从内存送入显示器显示时,将内存中的二进制数据转为ASCII字符,再按照不同的数据类型输出到显示器上。

例程:

#include 
#include 
#include 
using namespace std;

int main()
{

/************文件读写****************/
	
	int temp = 10;
	 char red[50];


	const char* str = "myLeearntest.txt";
	 char str2[] = "17栋男生宿舍by 井宇 .txt";
	 string s1;
	//文本文件的读写
	fstream afile;
	afile.open(str, ios::out);  //默认以文本格式打开,写 
	if (!afile) {
		cerr << "打开失败";
		exit(0);
	}

	afile <> red>>red>>red;    //读
		cout << red<

你可能感兴趣的:(c++,开发语言)