控制台中的坐标点-Visual C++2010速成版

Coordinate Points from the Console - Visual C++ 2010 Express Edition

本文关键字:C++2010 -Visual 坐标 控制台      更新时间:2023-10-16

我正试图编写一个程序,在控制台屏幕上绘制特定的形状。我想尝试使用控制台屏幕上的坐标点来指定形状的点,将其存储在阵列中,并在控制台屏幕上以白色(或任何颜色)闭合图形的形式清晰显示。我基本上想知道是否有可能在控制台屏幕上设置一个笛卡尔平面,这样我就可以根据我为程序提供的(x,y)坐标创建形状和图形

我不太了解Windows GDI是如何工作的,我听说的唯一能做到这一点的库是"curse.h"或"ncurse.h"库。此外,我在互联网上没有找到任何关于如何在我的Visual C++2010速成版编译器中安装这些不同库的参考资料。多亏了@john,我可以查找Windows应用程序的控制台功能。我是一个编码初学者,所以请耐心等待,以下是我根据充满错误的程序编写的程序(至少建设者是这么说的):

#include <WinCon.h>
using namespace std;
int main()
{
   char string[] = "#";
   char recString[5] = {''};
   COORD coordinates;
   coordinates.X = 15;
   coordinates.Y = 10;
   SetConsoleCursorPosition(GENERIC_READ, coordinates);
   WriteConsole(GENERIC_WRITE, string, 1, recString, NULL);
   char response;
   cin >> response;
   return 0;
}

Windows控制台API应该能为您提供所需的一切http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx

编辑:我对这个库没有太多经验,但我可以看到上面的代码有一些问题。像这样的事情更像是你应该做的

HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE); 
...
SetConsoleCursorPosition(console_out, coordinates); 
...
WriteConsole(console_out, string, 5, recString, NULL);

本页有一些示例http://msdn.microsoft.com/en-us/library/windows/desktop/ms686971%28v=vs.85%29.aspx

请参阅本教程,了解如何使用简单DirectMedia层(SDL)库和SDL_gfx附加库绘制基本体形状。这将在控制台窗口外的窗口上绘制(AFAIK,不可能直接在Windows控制台内逐像素绘制图形)。

如果你只是在寻找一种生成带有几何形状的绘图的方法,并且你已经熟悉Matlab(或其免费克隆的Octave),那么你应该考虑使用优秀的geom2d Matlab库。