社区
C语言
帖子详情
mac下实现终端输出文本功能的api是什么(类似windows下WriteConsole函数的这个api是什么)...
程序员小迷
合肥迷软信息科技有限公司官方账号
2012-04-11 08:35:57
RT,找了很多,没找到,请教。
...全文
129
回复
打赏
收藏
mac下实现终端输出文本功能的api是什么(类似windows下WriteConsole函数的这个api是什么)...
RT,找了很多,没找到,请教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MFC调用win32窗口显示调试信息
MFC调用win32窗口显示调试信息,使用AllocConsole
函数
(2010-11-16 15:33:25)转载标签: 调试win32mfc杂谈 分类: 编译器 AllocConsole Function 为主调进程分配一个新的控制台。 语法 C++ : BOOL WIN
API
AllocConsole(void); 参数: 无 返回值:如果
函数
成功,返回值是非零值;如果
函数
失败,返回值是零值。 备注: 一个进程仅能关联一个控制台,所以该
函数
在主调进程已经具有控制台时将会失败。 一个进程可以使用 FreeConsole
函数
来释放与之关联的控制台,之后它就可以调用该
函数
来创建一个新的控制台或使用 AttachConsole
函数
来关联另一个控制台。 如果主调进程创建了一个子进程,则子进程也将继承这个新创建的控制台。 该
函数
为新的控制台初始化标准输入、
输出
、错误句柄等。 标准输入句柄是一个控制台输入缓冲的句柄,标准
输出
和标准错误句柄则是控制台屏幕缓冲的句柄。为了获得这些句柄,可以使用 GetStdHandle
函数
。 该
函数
主要用于GUI应用程序来创建一个控制台窗口。 GUI应用程序初始化时时没有控制台的,而控制台应用程序则以控制台来初始化的。 要求 : Minimum supported client
Windows
2000 Professional Minimum supported server
Windows
2000 Server Header: Wincon.h (include
Windows
.h) Library: Kernel32.lib DLL Kernel32.dll ---------------------------------------------------------------------------------------- 虽然WIN32时代是图形界面时代,但偶尔程序中还需要用到命令行模式,比如批处理,这时再搞个图形界面出来显得似乎就不那么专业了。但客户还需要在正常状态下(对于命令行模式,我认为用户是非正常状态,比如脑子进水。)使用图形界面,这决定我们不能开一个控制台工程,而需要使用MFC exe程序。 OK,理所当然的,通过条件控制,命令行下我关掉对话框界面的调用代码,再使用 cout << "Hello world!" << endl; 来向这个友好的世界打个招呼,并坚持认为这句问候应该显示在CMD那个漆黑的窗口里。 很沮丧地说,事实给我与痛击。cmd窗口里仍然漆黑一片,系统完全不理会我的友好。 邓爷爷说,改革开放好!也许,我也需要个改革。 在同事mr. zhang的指导下,我找到一组
API
:Console Functions!正是这组
API
,最终让我的友好得以正当地表达。 一。创建一个Console,AllocConsole 直接使用 AllocConsole(); 马上,若是进程内第一次调用这个
函数
,一个空的cmd窗口会蹦出来。需要注意,一个进程只能创建一个console,多次调用会返回FALSE;而且,这个窗口是个独立的控制台窗口。 MSDN的解释:A process can be associated with only one console, so the AllocConsole function fails if the calling process already has a console. 还有段:If the calling process creates a child process, the child inherits the new console. 二。显示Hello World,
WriteConsole
有了console,我们还需要获取它的句柄HANDLE,然后才能在上面显示。方法是 GetStdHandle,它会获取前面我们AllocConsole得到的cmd窗口的句柄;若未调用AllocConsole,将获取标准的输入
输出
窗口句柄。 MSDN的解释:The GetStdHandle function returns a handle for the standard input, standard output, or standard error device. HANDLE hdlWrite = GetStd
matlab 控制台
输出
,汇编语言
WriteConsole
和
WriteConsole
OutputCharacter
函数
:控制台
输出
...
本节将为大家讲解如何直接调用 Win32
函数
在控制台
输出
,如
WriteConsole
和
WriteConsole
OutputCharacter。直接调用要求了解更多细节,但是它也提供了比 Irvine32 链接库过程更大的灵活性。COORD STRUCTX WORD ?Y WORD ?COORD ENDSSMALL_RECT 结构包含的是矩形的左上角和右下角,它指定控制台窗口中的屏幕缓冲区字...
Windows
控制台
API
基本使用(下)
写入的字符将在该行的最后位置
输出
,并且光标将保持在该字符的上方,就好像 ENABLE_WRAP_AT_EOL_OUTPUT 已禁用一样,但将
输出
下一个可
输出
字符,就像 ENABLE_WRAP_AT_EOL_OUTPUT 已启用一样。遇事不决,重绘解决。重新使用特定属性绘制
文本
是一个不错的方法,但是您必须知道您重绘的位置上的
文本
,有关
Windows
下获取指定区域
文本
的
API
将会在后面的章节提到(下次修改会添加关于这个
API
的信息,但您现在可以在 Microsoft Docs 预先浏览它)。
WriteConsole
操作系统中有控制台写
函数
WriteConsole
函数
原型: BOOL
WriteConsole
A( HANDLE hConsoleOutput, CONST VOID* lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved); 参数说明: 句柄,可以通过
函数
GetStdHandle获得。 指针指向缓冲区。 缓冲区大小。
输出
的实际大小 保留位,设置为0或
控制台
API
函数
----HANDLE、SetConsoleCursorPosition、SetConsoleTextAttribute
控制台
API
函数
调用相关
文本
界面控制的
API
函数
,这些
函数
可分为三类。 一、用于控制台窗口控制的
函数
(包括窗口的缓冲区大小、窗口前景字符和背景颜色、窗口标题、大小和位置等); 二、用于控制台输入
输出
的
函数
(包括字符属性操作
函数
); 三、其他的
函数
并为最后一类。(注意:当不需要使用句柄时需要调用CloseHandle()来关闭输入
输出
句柄,就像malloc申请的内存空间最后需要用free...
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章