浅谈c++的输入输出

我们先来看看c++的输出语句

#include<iostream>

//using namespace std;//c++库中的东西一般都放在std命名空间中

int main()

{

 std::cout<<‘’hello world‘’;//一般cout来表示输出,这个时候就需要说明是std库中的cout,才能使用它的功能

return 0;

}

效果如下

浅谈c++的输入输出

我们再来看看c++中的换行是如何实现的

首先第一种换行方式和c中是相同的就是在要输出的语言后面加\n

这个我们就不做赘述,直接来看效果

浅谈c++的输入输出

我们可以清楚的看到我们通过在要输出的内容后面加\n实现了换行的效果

第二种方式:c++特有的换行的方式

#include<iostream>
//using namespace std;//c++库中所有东西都是放在std命名空间中
int main()
{
    std::cout << "hello world\n"<<std::endl;//通过在结尾加上endl来实现换行(注意为endl不为end一奥),因为这个功能还是属于iostream,所有前面加上std::
    getchar();
    return 0;
    
}

我们来看输出结果

浅谈c++的输入输出

观察光标的位置,我们可以看到我们通过换行语句,实现了两次换行

接下来我们来看一个东西#include<iostream>
//using namespace std;//c++库中所有东西都是放在std命名空间中
int main()
{
    std::cout << "hello world\n"<<std::endl;//通过在结尾加上endl来实现换行(注意为endl不为end一奥),因为这个功能还是属于iostream,所有前面加上std::
    int i = 1;
    double d = 1.11;
    std::cout << i << " " << d << std::endl;//我们可以通过这种格式来输出不同的类型变量
    getchar();
    return 0;
    
}

std::cout是可以自己识别你的类型变量的,所以不用在后面写什么%c,%d之类的

浅谈c++的输入输出

那么有的聪明的小朋友肯定会问了:“哎呀 这个每次都要写std:cout来实现输出 ,好麻烦呀”

哎,确实有点麻烦,所以在日常练习的时候,当你不在乎跟库名冲突的情况下,你可以把他全展开

那么代码就变成下面这样

#include<iostream>
using namespace std;//c++库中所有东西都是放在std命名空间中,库全部展开奥,但是是在练习情况下,不在乎和库名冲突的情况
int main()
{
    cout << "hello world\n"<<std::endl;//通过在结尾加上endl来实现换行(注意为endl不为end一奥),因为这个功能还是属于iostream,所有前面加上std::
    int i = 1;
    double d = 1.11;
    cout << i << " " << d << std::endl;
    getchar();
    return 0;
    
}

你看 也能实现同样的输出结果

浅谈c++的输入输出

但当你定义了一个和库名产生冲突的变量的时候,就会报错

浅谈c++的输入输出

编译器就会指出你的cout不明确

那就有聪明的小朋友问了“我既想定义和库名相同的变量,还想避免冲突,该怎么实现呐?”

哎,不要着急

两种避免冲突的方式

第一种就是上面的那种方法,当你把std库全部展开的时候,那你在后面书写时就要加上std::cout 或者std::endl等等类似的语句,表明你使用的是库里面的功能

第二种就是部分展开了,比如我们要使用cout,那么我们就在开头加上using std::cout;表示你展开的只是std库中这个功能的部分

endl也是同理,在开头加上using::endl,表示你展开的就是std库中endl的部分

那么在后面的使用过程中,以下面这种格式进行书写就可以了

浅谈c++的输入输出

说完输出我们来说说输入

c++中用cout来实现输出,用cin来实现输入

浅谈c++的输入输出

所以一般情况下常用的库里面的一些对象或者类型可以展出来

工程中就比较推荐第二种的展开方式,对要使用的库进行部分展开

这里提一下,一般比较老的编译器,像VC6.0这种,头文件可能会写为<iostream.h>,这点还是要留意一下,但是现在市面上大多数的编译器是不支持这种写法的