为什么会如此烦躁呢?
遇到一个很烦躁的地方
以前学习c语言最害怕的地方就是关于文件处理的地方
本以为学习c++之后只会合cin cout getline打交道了
没想到还是在c++中遇到c语言中的一些让偶头疼得要死的地方
且看下面一个小程序(源自c++编程思想卷1中文版)
incline void require(bool requirement,const std::string &msg="Requirement failed")
{
using namespace std;
if(!requirement)
{
fputs(msg.c_str(),stderr);//此句究竟是什么意思啊 ?????
fput("\n",stderr);
}
exit(1);
}
这个程序看了半个小时很郁闷
1 fputs不就是向文件里面写字符串的命令么???是这样么?
然后既然是写字符串,为何还要msg.cstr(),这不成了名字么?????
2 stderr怎么理解它呢?我知道stderr是系统默认的错误输出,是这样么???
3 fputs(msg.c_str(),stderr);这一句看起来很难过
能不能够写成
ostream out(msg.c_str);
out<<stderr
请高手们指教啊