c++ primer学习笔记之第一章
2014-01-08 22:37
281 查看
笔记嘛,自然是记载自己还不熟悉的地方,肯定会不全。如果有幸让您看到了,还望指出错误
1、main的返回值用来指示状态,返回0表示成功,非0由系统定义。可在MMC中用echo %ERRORLEVEL% 查看刚刚返回的错误
2、流表示随着时间的推移,字符时顺序生成或消耗的。<<输出运算符将给定的值写入给定的ostream对象中,返回ostream对象,如果调用失败,(如int型的val给他赋值了个小数0.7),ostream的对象状态变成无效,它会使条件变成假。 如:while(std::cin>>val);输入了0.7。
3、注释不能嵌套,不然会有奇怪的东西,如/*s /*users*/ p*/编译器会报错。
int main()
{
int a,b;
std::cin>>a;
std::cout<<"You have typed"<<a<<endl;
std::cin>>b;
std::cout<<"You have typed"<<b<<endl;
}
4、输入输出流是将输入暂存在一个buffer中,一个cin,cout都会从中顺序取出一个数据。若输入多了,下次输入则自动读出。如程序
如果输入3 4 5 ,则不会出现第二次输入的等待符,直接输出两行字符串。
要将流清楚,则可以用fflush(stdin/stdou),清除文件缓冲区。
int main()
{
int a,b;
std::cin>>a;
std::cout<<"You have typed"<<a<<endl;
fflush(stdin);
std::cin>>b;
std::cout<<"You have typed"<<b<<endl;
}
扩展:
fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃[非标准]。
fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。
printf("。。。。。。。。。。。");后面加fflush(stdout);可提高打印效率。
int fflush(FILE *stream);
如果stream指向输出流或者更新流(update stream),并且这个更新流最近执行的操作不是输入,那么fflush函数将把任何未被写入的数据写入stream指向的文件(如标准输出文件stdout)。否则,fflush函数的行为是不确定的。fflush(NULL)清空所有输出流和上面提到的更新流。如果发生写错误,fflush函数会给那些流打上错误标记,并且返回EOF,否则返回0。
由此可知,如果 stream 指向输入流(如 stdin),那么 fflush 函数的行为是不确定的。故而使用 fflush(stdin) 是不正确的。
1、main的返回值用来指示状态,返回0表示成功,非0由系统定义。可在MMC中用echo %ERRORLEVEL% 查看刚刚返回的错误
2、流表示随着时间的推移,字符时顺序生成或消耗的。<<输出运算符将给定的值写入给定的ostream对象中,返回ostream对象,如果调用失败,(如int型的val给他赋值了个小数0.7),ostream的对象状态变成无效,它会使条件变成假。 如:while(std::cin>>val);输入了0.7。
3、注释不能嵌套,不然会有奇怪的东西,如/*s /*users*/ p*/编译器会报错。
int main()
{
int a,b;
std::cin>>a;
std::cout<<"You have typed"<<a<<endl;
std::cin>>b;
std::cout<<"You have typed"<<b<<endl;
}
4、输入输出流是将输入暂存在一个buffer中,一个cin,cout都会从中顺序取出一个数据。若输入多了,下次输入则自动读出。如程序
如果输入3 4 5 ,则不会出现第二次输入的等待符,直接输出两行字符串。
要将流清楚,则可以用fflush(stdin/stdou),清除文件缓冲区。
int main()
{
int a,b;
std::cin>>a;
std::cout<<"You have typed"<<a<<endl;
fflush(stdin);
std::cin>>b;
std::cout<<"You have typed"<<b<<endl;
}
扩展:
fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃[非标准]。
fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。
printf("。。。。。。。。。。。");后面加fflush(stdout);可提高打印效率。
int fflush(FILE *stream);
如果stream指向输出流或者更新流(update stream),并且这个更新流最近执行的操作不是输入,那么fflush函数将把任何未被写入的数据写入stream指向的文件(如标准输出文件stdout)。否则,fflush函数的行为是不确定的。fflush(NULL)清空所有输出流和上面提到的更新流。如果发生写错误,fflush函数会给那些流打上错误标记,并且返回EOF,否则返回0。
由此可知,如果 stream 指向输入流(如 stdin),那么 fflush 函数的行为是不确定的。故而使用 fflush(stdin) 是不正确的。
相关文章推荐
- 关于指针的一些事情
- C/C++数据对齐详细解析
- C++中引用的使用总结
- C与C++之间相互调用实例方法讲解
- C++中引用(&)的用法与应用实例分析
- 解析C++ 浮点数的格式化输出
- 深入分析C++中几个最不常用的关键字
- c++中inline的用法分析
- 深入解析C++ Data Member内存布局
- 从汇编看c++中默认构造函数的使用分析
- 关于C++中的友元函数的一些总结
- C++的sstream标准库详细介绍
- 基于C++自动化编译工具的使用详解
- 浅谈C++中的string 类型占几个字节
- C/C++ 宏详细解析
- 深入分析C++中两个大数相乘结果不正确的问题
- 探讨C++中数组名与指针的用法比较分析
- 深入解析C++中的引用类型
- C++可变参数的实现方法
- C++中的常对象与常对象成员详解