GetStdHandle获取标准设备句柄
#include <stdio.h> #include <windows.h> int main(void) { TCHAR ch[] = __TEXT("我是中国人"); int len = lstrlen(ch);//返回字符长度 //返回指定字符串的字节长度(ANSI版)或字符长度(双字节标准版);其中不包括终止NULL字符 DWORD dwChars; HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);//获取标准设备句柄 //标准设备(标准输入、标准输出或标准错误) //包含在头文件windows.h中 //参数:STD_INPUT_HANDLE 标准输入句柄 // STD_OUTPUT_HANDLE 标准输出句柄 // STD_ERROR_HANDLE 错误的设备句柄 //返回值:如果该函数成功,则返回值为指定设备的句柄 HANDLE // 如果函数失败,则返回值为 INVALID_HANDLE_VALUE。 要获得更多的错误信息,请调用 GetLastError // 如果应用程序没有关联的标准句柄(例如在交互式桌面上运行的服务),并且尚未重定向这些句柄,则返回值为 NULL if (hStdout == INVALID_HANDLE_VALUE) //INVALID_HANDLE_VALUE表示无效句柄值 { printf("INVALID_HANDLE_VALUE"); return -1; } BOOL b = WriteConsole(hStdout, ch, len, &dwChars, NULL);//从当前光标位置写入一个字符串到屏幕缓冲区 //参数1:控制台屏幕缓冲区的句柄。该句柄必须具有的GENERIC_WRITE的访问权限 //参数2:要写入控制台屏幕缓冲区字符的缓冲区的指针 //参数3:要写入的字符数。如果指定的字符数的总大小超过可用的堆,该函数会ERROR_NOT_ENOUGH_MEMORY失败 //参数4:返回实际输出字符串的长度-->指针 可以NULL //参数5:备用参数 NULL //返回值:如果函数成功,则返回值为非零值。 // 如果该函数失败,则返回值为零。要获取错误信息,请调用GetLastError int n = getchar(); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
2019-12-24 python--moviepy--视频编辑