如何将LONG转换为CString?

时间:2011-09-23 15:45:53

标签: c++ winapi mfc casting

我想把长篇文章转换为cstring。

我一直在努力解决这个问题,我已经看到了很多解决这个问题的变种,或多或少都充满了麻烦和焦虑。

我知道这个问题似乎是主观的,但它确实不应该在我看来。当情况涉及MFC和随这些情况而来的标准库时,必须有一种被认为是最好的方法。

我正在寻找一种可行的单线解决方案。类似于C#中的long.ToString()。

2 个答案:

答案 0 :(得分:19)

这很简单:

long myLong=0;
CString s;

// Your one line solution is below
s.Format("%ld",myLong);

答案 1 :(得分:6)

有很多方法可以做到这一点:

CString str("");
long l(42);

str.Format("%ld", l); // 1
char buff[3];
_ltoa_s(l, buff, 3, 10); // 2
str = buff;
str = boost::lexical_cast<std::string>(l).c_str(); // 3
std::ostringstream oss;
oss << l; // 4
str = oss.str().c_str();
// etc