您的位置:首页 > 编程语言 > C语言/C++

c++输入输出流

2015-09-01 19:48 369 查看
类iostream 有下面几种从流中抽取成员函数:get(0,getline() put(),read() write()

1\get函数的用法

cin.get()--------------------从流中抽取单个字符串,后面还保存一个\n符号,在使用时,后面应该加上cin.get(),这样吧\n去掉

cin.get(s)-------------------------从流中抽取单个字符存到s中

cin.get(s,int len)----------------------抽取len长的字符串

一般以\n 为结束

#include<iostream>
using namespace std;
int main()
{
	char s1[80];
	char s2[80];
	cout << "输入一个字符" << endl;
	cout << cin.get() << endl;
	cin.get();
	cout << "输入一个字符串" << endl;
	for (int i = 0; i < 80; i++)
	{
		cin.get(s1[i]);
		if (s1[i] == '\n')
		{
			s1[i] = '\0';
			break;
		}
	}
	cout << s1;
	cout << "输入一行字符串" << endl;
	cin.get(s2, 80);
	cout << s2 << endl;
	system("pause");
	return 0;
}


2、getline函数

获取一个字符串,,遇到终止符为止,\n

#include<iostream>
using namespace std;
int main()
{
	char s1[80];
	char s2[80];
	cin.getline(s1, 80);
	cout << s1;
	system("pause");
	return 0;
}
3、put函数

put函数表示输出一个字符如果换行可以这样写

cout.put("a).put('\n')

4、read函数和write函数

无格式控制,只输入一定数目的字符,不管\n符号

输出格式控制符

dec---------------------------------------------一十进制形式输入和输出整数

hex-----------------------------------------------十六进制输入和输出整数

oct-------------------------------------------八进制输入和输出整数

ws-----------------------------------------------用于输入时跳过开头的空白符

endl----------------------------------------------------插入一个换行符,并刷新输出流

setbase(n)----------------------------------------转换成基数设置为(0,8,,1,16),默认十进制

setfill(int c)---------------------------------------------设置c为填充的字符,默认空格

setpricise---------------------------------------------设置小数点的位数

setw--------------------------------------设置域宽

setiosflags(long f)------------------------------------------------设置有参数f制定的格式标志

#include<iostream>
#include<iomanip>//控制格式的头文件
using namespace std;
int main()
{
	cout << setw(10) << 987 << 654 << endl;//设置域宽
	cout << 987 << setw(10) << hex << 987 << endl;
	cout << 987 << setw(10) << oct << 987 << endl;
	cout << 987 << setw(10) << dec << endl;
	cout << setiosflags(ios::left)<<setfill('&') << setw(10) << 987 << endl;
	cout << setiosflags(ios::right) << setfill('&') << setw(10) << 987 << endl;
	system("pause");
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: