【问题标题】:How to convert DWORDLONG to a char *?如何将 DWORDLONG 转换为 char *?
【发布时间】:2011-09-22 15:41:16
【问题描述】:
    res = pRecord->Usn ;
    char sres[1024];
    strcpy(sres,"");
    ltoa(res,sres, 10);

我有这个变量 res,它的类型是 DWORDLONG,我正在尝试将其转换为字符串,以便将其插入数据库。

另外,我将如何将其转换回来。有没有ltoa的等价物,还是要自己写逻辑?

【问题讨论】:

  • 这是我不喜欢为基础定义自己的类型的做法的原因之一。我忘记了 DWORDLONG 真的 是什么。
  • @sje397:重载在这里拯救了;)
  • 它是一个 64 位无符号整数 typedef ULONGLONG DWORDLONG;
  • @DeadMG,对此感到抱歉,我该如何以正确的方式进行操作?

标签: c++ string dword


【解决方案1】:

使用

boost::lexical_cast<std::string>(res);

std::ostringstream o;
o << res;
o.str();

或在 C++11 中

std::to_string(res);

要回到 C++11,你会使用

res=std::stoull(str)

或在 C 中 *shiver *

char* end;
res=strtoull(str.c_str(),&end,10);

【讨论】:

  • 是的 - 顺便说一句,我从不使用 strtoull() 的可选指针。我猜您可以使用 if 进行错误检查...
  • @KerrekSB:确实,这就是它的用途,而且我个人一直使用它,因为在 >90% 的情况下,我从不可靠的来源(== 用户输入)获取数据。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 2015-04-02
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
  • 2011-01-26
相关资源
最近更新 更多