C++I/O流
我只学了C,,感觉既然输入输出中printf和scanf效率都很高,为什么C++还要有I/O流这么一说呀,直接去延续C的输入输出就好了呀,我觉得他肯定有自己的优势所在,,...
我只学了C,,感觉既然输入输出中printf和scanf效率都很高,为什么C++还要有I/O流这么一说呀,直接去延续C的输入输出就好了呀,我觉得他肯定有自己的优势所在,,请教大家,一下,,谢谢
展开
4个回答
展开全部
C语言中的printf和scanf很方便高效,但是 printf和scanf 有其固有的弱点,
、printf 和 scanf 是可变参数的函数,这意味着函数是不那么安全的,可能会造成内存泄漏、
资源损害等等,比如
printf("%d %f", 10);
要求输入 两个参数, 但调用时只输入一个参数,这时 printf 函数很有可能将根据 %f 这个控制符继续在内存中读取一个float 型数据,尽管这个float 不存在,这就给电脑攻击提供了便利。
C++在诞生之初就为了避免C语言这种弊端,它的输入输出是用流的概念来描述的,这既可以避免这些漏洞,又可以达到更高层次的抽象,比如迭代器、文件输入输出流等等,学习了C++自然会知道的。
为了兼容C语言, C++ 也可以用 C语言的 printf和scanf。
有时,即使在 C++,用 printf还要方便一些。
、printf 和 scanf 是可变参数的函数,这意味着函数是不那么安全的,可能会造成内存泄漏、
资源损害等等,比如
printf("%d %f", 10);
要求输入 两个参数, 但调用时只输入一个参数,这时 printf 函数很有可能将根据 %f 这个控制符继续在内存中读取一个float 型数据,尽管这个float 不存在,这就给电脑攻击提供了便利。
C++在诞生之初就为了避免C语言这种弊端,它的输入输出是用流的概念来描述的,这既可以避免这些漏洞,又可以达到更高层次的抽象,比如迭代器、文件输入输出流等等,学习了C++自然会知道的。
为了兼容C语言, C++ 也可以用 C语言的 printf和scanf。
有时,即使在 C++,用 printf还要方便一些。
展开全部
因为C的输入输出没有类型检查,也不能按用户要求来定制
C++的io流库可以重载插入符<<和提取符>>等,这样可以自行重载输出,另外,输入输出流中的流操纵算子也是C不能实现的
C++的io流库可以重载插入符<<和提取符>>等,这样可以自行重载输出,另外,输入输出流中的流操纵算子也是C不能实现的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++I/O流不仅是终端的输入及输出,还是对文件的输入和输出。功能是非常强的。并且还有一些的格式输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个面向过程,一个面向对象。一个只是函数集,一个是C++类。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询