c++输出问题请教,cout在窗口中的输出以及iostream问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++输出问题请教,cout在窗口中的输出以及iostream问题相关的知识,希望对你有一定的参考价值。

在c++程序中,有如下代码:
CPen pen(PS_SOLID,1,RGB(255,0,0)),oldpen(PS_DOT,3,RGB(0,0,255));
CClientDC dc(this); dc.SelectObject(&pen);
dc.MoveTo(firstpoint);
dc.LineTo(point);
cout<<"use newspen";
问题:
1.运行后,并没有输出"use newspen",请问为什么?
2.#include<iostream>和<iostream.h>它们有区别,且前者在用的时候,还需要加上
using namespace std;但是c++中都用前者,查了一下,是因为前者具有更好的可移植性,请问为什么?

已无语。。。。
如果我的钛合金狗眼没看错的话,你写的应该是MFC程序,那你为嘛还要用cout输出???
MFC是Windows程序,不是控制台程序,不能用cout输出。
想要用cout输出,需要重定向流到文件或其他地方,直接这样你是看不到输出的。

#include<iostream.h>是老版本的。

现在的C++标准是
#include<iostream>
using namespace std;
不存在什么移不移植,而是新标准必须的。追问

h哈哈,
可否详细解释一下第一个问题:
比如控制台输出和windows输出的大致关系,

追答

控制台输出是标准输出,在C中定义为stdout。
而你所看到的窗口输出其实是windows系统调用"绘画"到屏幕上的。

参考技术A 1. std::cout 默认是在控制台输出,在窗口程序中没用。
窗口输出: wnd***.SetWIndowText(_T("use newpen"))
output输出: TRACE(_T("use newpen"))
2. <iostream>是新标准的
<iostream.h>是为了让以前开发的程序不至于失效而存在的。
它们功能一样,但没后缀的,是在std命名空间中,带.h的反之。不建议用.h文件。追问

可否详细解释一下第一个问题:
比如控制台输出和windows输出的大致关系,

C++中关于string类型究竟能不能用cout输出的问题

string 不属于基本类型数据,不能直接cout,要用cout必须重定义<<运算符。
#include<string> 这个头文件提供了string的相关函数,包括<<运算符的重载,包含这个头文件(注意,和string.h或者cstring不同)后就可以cout了。
参考技术A C++中的string类型可以使用cout进行输出,其头文件是#include <string> C语言中的char数组类型,也可以用cout输出 参考技术B 能啊,也可以用 stringObject.c_str();

以上是关于c++输出问题请教,cout在窗口中的输出以及iostream问题的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(四四七)cout没有输出

C++中使用cout输出int时,怎么在高位补0?如输出003.

C++中关于string类型究竟能不能用cout输出的问题

C++中怎么输出一个很大的数?深圳

IO流在C++中的应用

C++ 中的标准输出流是线程安全的(cout、cerr、clog)吗?