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

C++提高 10(标准输入,输出流,文件io流)

2018-01-26 17:15 447 查看

1.标准输入流

#include<iostream>
using namespace std;

void main01()
{
int a;
long b;
char c[100];

cin >> a;
cin >> b;
//cin的这种输入流遇到空格本次录入结束;
cin >> c;

cout << "a:" << a << "b:" << b << "C:" << c << endl;
system("pause");
}

void main02()
{
char c;

//这里会先接受键盘录入,放入缓存区;一次取一个进行打印;
//enter进行循环取出打印,取不到阻塞;ctrl+z 就是结束符EOF;结束循环;
while ((c=cin.get())!=EOF)
{
cout << c << endl;
}
system("pause");
}

void main03()
{
char a, b, c;
//键盘录入先录入到缓冲区的;
cin.get(a);//从缓冲区取出一个字符赋值给a,然后缓冲区中就没有了;
cin.get(b);
cin.get(c);
cout << a << b << c << endl;

cin.putback(a);//这种是又放回到缓冲区中去;
cin.putback(b);
cin.putback(c);

system("pause");
}

void main04()
{
char a[100];
char b[100];

//从键盘录入数据包含空格,进入缓冲区,当遇到第一个空格的之前的内容赋值给a;
//cin.getline()会读取缓冲区后面的内容包换空格赋值给b;
cin >> a;
cin.getline(b,100);
cout << a << "---" << b << endl;
system("pause");
}

void main()
{
char a[100];
char b[100];

//从键盘录入数据包含空格aa bbccdd,进入缓冲区,当遇到第一个空格的之前的内容赋值给a;
//cin.ignore()忽略函数;
cin >> a;

cin.ignore(2);//忽略(跳过)两个字符;
int a = cin.peek();//都去忽略后或者跳过后的第一个字符的阿斯克码值;读不到的话会阻塞在这里;
cin.getline(b, 100);
cout << a << "---" << b << endl;
system("pause");
}

2.标准输出:

#include<iostream>
using namespace std;

void main()
{
//cout.put('h').put('e');//put只能放一个字符进入输出流;
//cout << "llo" << endl;

//char* p = "hello world";
//cout.write(p, strlen(p)) << endl;//输出p指针;返回一个引用
//cout.write(p, strlen(p)-4) << endl;//输出结果:hello w;
//cout.write(p, strlen(p)+4) << endl;//输出结果:hello world????;这个操作是比较危险的;可能会崩掉可能会乱码;

cout << "<start>";
cout.width(30);//输出长度为30;
cout.fill('*');//输出长度不够的用*填充
cout.setf(ios::showbase);//以16进制输出
cout << hex << 1234 << "<End>" << endl;//输出1234的16进制
//输出结果:<start>*************************0x4d2<End>
system("pause");
}




3.文件io

#include<iostream>
#include<fstream>
using namespace std;

void main()
{
char* fname = "C:/test.txt";
//ios::in 可以不写默认就是in,其他类型看下面的表格;
ofstream fout(fname,ios::in);//建立输出流和文件相关;没有文件的话创建文件;
if (!fout)
{
cout << "文件打开失败" << endl;
}
fout << "hello0001" << endl;
fout << "hello0002" << endl;
fout.close();

ifstream fin(fname);//建立输入流和文件相关联;
char ch;
while (fin.get(ch))
{
cout << ch;
}
fin.close();
system("pause");
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: