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

C++学习笔记——4.输入、输出和文件

2018-01-11 22:27 323 查看

1. 获得字符/数值输入

先定义变量类型,然后输入。自动检查输入与定义变量类型是否一致。

std::cin>>variableName;

将输入的值赋给变量。

2. 丢弃输入数据(重要)

cin.ignore(); //丢弃单个字符

cin.ignore(n); //丢弃n个字符

cin.ignore(10,’\n’); //丢弃10个字符或者直到它遇见一个换行符

如果想删除整个缓冲区,用gcount()函数,cin.ignore(cin.gcount()+1);

3. 获得字符串输入

先定义一个字符串,然后将用户输入的文本字符串赋值给变量,直到遇见第一个空白字符。

空格、制表符、换行符和回车符都结束一个输入字符串。

4.一次读取多个输入值

先定义数据类型

datatype1 variableName1;

datatype2 variableName2;

cin>>variableName1>>variableName2;

表示将读入的第一个字符串赋值给variableName1,第二个字符串赋值给variableName2。

5. 读入一整行输入

使用getline()函数,需要给出输入流的名字“cin”作为第一个参数输入,用来保存输入值的变量是第二个输入参数。

语法:

string input;
cout<<"input something\n";
getline(cin,input);


6. 对输入数据进行合法性检查

用来专门报告cin对象工作情况的成员函数

eof():如果达到文件末尾,返回true;

fail():如果cin无法正常工作,返回true;

bad():如果cin因为内存不足无法工作,返回true;

good():如果以上情况都没发生,返回true;

还可以使用cin本身作为一个条件,如 if(cin){…};

或者if(cin>>variableName{…};)

当返回值位true时,说明有情况发生了,处理这类问题的基本处理步骤为:先调用clear()函数清除cin的出错状态,再调用ignore函数把缓冲区里的现有输入全部丢弃。

示例:

int age;
cout<<"enter your age:";
while(!(cin>>age))
{
cin.clear();
cin.ignore(100,'\n');
cout<<"enter your age:";
}


7. 把数据输出到文件

首先应将fstream库包括到源文件中

接下来创建一个ofstream(output file stream,输出文件流)类型的变量

使用is_open函数确定文件是否被打开,也可以用good()函数来进行

一旦有一个好的、打开的文件流,就可以往文件里写东西了。注意,要在每一行输出数据末尾加换行符。

8. 使用文件输入

首先应将fstream库包括到源文件中

接下来创建一个ifstream(iutput file stream,输入文件流)类型的变量

使用is_open函数确定文件是否被打开,也可以用good()函数来进行

一旦有一个好的、打开的文件流,就可以去读取数据,可以使用getline()函数将读到的每一行数据都赋值给一个字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: