将 unsigned long 转换为 char *

标签 c

所以我有这个功能:

static void doPrint (const char *s)
{
    write (STDOUT_FILENO, s, strlen(s));
}

我试图向它传递一个无符号长变量,但到目前为止我所尝试的一切都不起作用。我的问题是,我该怎么做?我正在考虑使用类似 _ultoa_s 或其他类似函数的东西。

有什么想法吗?谢谢

注意:对 printf、sprintf 等的访问受到限制

最佳答案

您可以尝试将指针传递给 long 变量并将大小传递给您的 doPrint 函数,如下所示

doPrint((char *)(&someLongVariable), sizeof(someLongvariable));

void doPrint(char *inpString, int size)
{
     write (STDOUT_FILENO, inpString, size);
}

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

相关文章:

c - 函数的存储分配

c - 用 0 填充字符串的 printf

c - K&R 练习 1.18(删除尾随空白)

c - 在 C 中使用 Do While [查找错误]

c - Ruby 扩展 Data_Wrap_Struct - 类型错误

c - C中数组的地址等于它的第一个元素吗

c - gcc-arm 链接错误 : attempted static link of dynamic object

c - 在 ADC 中断中使用移位和数组求平均值

c - undefined reference ...函数返回指针

C-如何将文本文件中的单词读入字符串数组