やや描画機構を作るためにmfcアプリケーションを作っています。ポリラインを使用すると、ユーザーは図形を描くことができ、Enter キーを押すと、線の現在のポイントが開始ポイントに結合されます [閉じた多角形を形成します]。私はあなたがアイデアを得ると思います。ここで、ポリゴンの各頂点を格納するために STL 配列を使用しています。簡単に言えば、図形の描画中にマウスの左ボタンがクリックされたすべてのポイントが配列に格納されます。
std::array<CPoint,11> v; //vertices
次のメカニズムを使用して、この配列の要素、つまりポイントを出力しています。
for(int j=0 ; j<v.size() ; j++ )
{
s.Format(L"%d %d\n",v[j].x, v[j].y);
aDC.TextOutW(x+=20,y+=20,s ); //each time print the coordinates
s=" "; //at a different location
}
実行中、ユーザーが画面上の点をクリックして図形を描画すると、それらの点が配列に格納されます。配列は 12 個の要素で宣言されていますが、形状に 12 個の頂点があることはめったにありません。残りの要素 (空の要素) は (0,0) のままですが、これらはループで出力されます。だから私が印刷するのは、3-4 座標とたくさんの (0,0) です。頂点が格納されている要素のみを印刷する方法はありますか (私の言いたいことが理解できることを願っています)。のようなものvertices[n]=/*some character that signifies the last element*/
。私の質問は、このキャラクターは何ですか?文字列の '\0' のように。