c++ - 怎麼樣把向量座標轉為字串,格式為'(x=, y=)”
过去多啦不再A梦
过去多啦不再A梦 2017-06-05 11:11:01
0
2
1304

#程式碼:
string str(double dX, double dY)// 將向量座標轉為字串,格式為「(x=, y=)」

{
    return "(x=" + dX + ", y=" + dY + ")";
}

錯誤訊息:
表達式必須包含整數或未區分範圍的枚舉類型

#
过去多啦不再A梦
过去多啦不再A梦

全部回覆(2)
我想大声告诉你

常見的兩種方案。

std::string v1(double dX, double dY) {
  std::ostringstream stream;
  stream << "(x=" << dX << ", y=" << dY << ")";
  return stream.str();
}

std::string v2(double dX, double dY) {
  char buff[1024];
  sprintf(buff, "(x=%f, y=%f)", dX, dY);
  return buff;
}

v2可能會溢出。

大家讲道理

include

c++11 提供std::to_string 用於字串轉換

或如樓上所言

std::string v1(double dX, double dY) {
  std::ostringstream stream;
  stream << "(x=" << dX << ", y=" << dY << ")";
  return stream.str();
}

依照樓主的程序還是to_string轉換效率高一些。

建議回傳 const string

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板