首页 > 代码库 > C++输入输出流的基本函数及语法

C++输入输出流的基本函数及语法

1,EXPECT_*系列和ASSERT_*系列。

这两个系列的函数都是用于断言,也就是说判断是否满足要求,满不满足都会输出log。

举个例子,EXPECT_EQ(3,Add(1, 3))这里就是判断3和Add(1, 3)是否相等,然后在结果中输出

g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16): 

error: Value of: Add(1, 3)   Actual: 4 Expected:3


这里会返回error,因为前面是3所以要equal的话后面也要等于3,所以期望是3,但是1+3实际

返回了4,所以error。


其他类型还有EXPECT_TRUE和EXPECT_FALSE等等。

接下来我说说两者的区别,EXPECT_用于打出信息,如果是否error都会往下执行,也就说用于

查看。

而ASSERT_用于检查,一旦检查失败就退出当前函数(不是退出当前程序)。

注意:只有失败了error才会打出信息,成功是不会打的。


强化:如果遇到特殊情况,例如在循环里面报错了,那根本就不知道是i = ?的时候退出的,所以

加入了新的元素,<<.

例子,EXPECT_TRUE(FALSE)<<"mimida?"<<i;

输出的是

g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16): 

error: Value of:FALSE   Actual: FALSE,Expected:TRUE

mimida?8(i=8)//这一行是输入输出流打出来的


2,ifstream

输入流,把文件的东西读到流里面。

例如

std::ifstream input("./case/encoding/utf8");

这里就是把utf8读到input里面去了。


3,getline

从流元素里读到变量里。如果是getline




C++输入输出流的基本函数及语法