#include<windows.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<wincon.h>
void main (){
COORD size={10,10};
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
WriteConsoleOutputCharacter(hout,"hello,world",strlen("hello,world"),size,NULL);
}
像这样,很简单的一段代码,执行后能在控制台现实 hello,world。但是马上就开始报错了。有图片。你们可以在自己电脑上试试。。怎么办啊??
最后后面一个参数不要带NULL,该函数写往最后一个参数写东西的。
这样
DWORD buf[128];
WriteConsoleOutputCharacterA(hOut,"Hello,World",strlen("Hello,World"),size,(LPDWORD)buf);
那为什么书上还有网上一般都说后面是NULL啊。最后这个存放输出字符数目的变量地址难道必须要吗?
回答
-
以前的确是可以用NULL,现在可能函数的内部实现改了吧。