c++ - 在 C++ 中将 unsigned long 转换为 char*

标签 c++ type-conversion

<分区>

如何将 unsigned long 转换为 char*。

我正在执行以下for循环

for (unsigned long i = 1; i< 7;i++)
{
    callAMethod(5,i);
}

方法定义如下

callAMethod(int, const char*)

当我这样做时,出现以下错误:

invalid conversion from `unsigned long' to `const char*'

我该怎么做?

最佳答案

旧的 C 指针算法:

for (unsigned long i = 1; i< 7;i++)
{
    callAMethod(5, (const char*)(&i));
}

但是这样你只会得到 long 的 8 个字节中的一个字节。你想得到long的字符串表示吗?您可以利用 STL 并获取 str()。

关于c++ - 在 C++ 中将 unsigned long 转换为 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17735965/

相关文章:

java - 处理非常大的数字

c++ - 使用捆绑属性作为 dijkstra_shortest_paths 中的权重图

c++ - C++ windows 代码中是否有任何方法可以阻止鼠标移出窗口边界

c++ - 为什么 C++ 运算符 new/delete/variants 不应该在头文件中?

c++ - 什么是 "control block"

java - 从数组创建 ArrayList

c - 在 C 中以位拆分 uint16_t

c++ - 代码块,C++ 构建 : Permission denied collect2. exe

java - 如何设置Json schema的类型?

arrays - VBA:字典项到字符串数组?