1

std::arraymfc アプリケーションで出力したい CPoint オブジェクトがあります。

std::array<CPoint,11> v = pDoc->m_ElementList.back();

    for(int j=0;   j < v.size();  j++ )
        aDC.TextOutW(x+=3,y+=3, _T(v[n++]));   

文字列ではなくCPoint_T(v[n++])オブジェクトであるため、明らかに機能しません。この方法で CPoint オブジェクトを出力するにはどうすればよいですか? または、それらを文字列に変換してそのような方法で使用するにはどうすればよいですか?

4

2 に答える 2

4
CString s;
CPoint p;

s.Format("x=%d / y=%d",p.x,p.y);

std :: stringの場合は、sprintfまたはのいずれかを使用しますstd::stringstream

stringstream ss;
ss << "x=" << p.x << "/" << "y=" << "p.y";
于 2012-12-18T14:55:51.400 に答える
0

何ができるのか、何ができるのかわかりませんCPointが、次のように書く必要があると思います。

std::wstring to_wstring(const CPoint& point)
{
  #ifdef HAS_CPP11
  using std::to_wstring;
  return to_wstring(point.x) + L"; " + to_wstring(point.y);
  #else
  std::wstringstream s;
  s << point.x << L"; " << point.y;
  return s.str();
  #endif
}

std::string to_string(const CPoint& point)
{
  /*..*/
}
于 2012-12-18T14:56:11.683 に答える