如何使用syscall将int转换为char *?

时间:2014-10-01 00:21:14

标签: c++ c operating-system mmap system-calls

这是了解有关系统调用的更多信息的一部分。

如何使用系统调用在C ++中转换int而不是在C ++中使用sprintf或任何其他库functoins我认为我需要使用mmap但我可以找到有关如何使用它的任何文档

3 个答案:

答案 0 :(得分:1)

不,你不能用系统调用来做到这一点。如果syscall需要一个字符串,则在调用syscall之前将整数转换为字符串。使用sprintf进行转换。

答案 1 :(得分:1)

  1. 使用现有系统调用作为示例,实施将int转换为char *的系统调用。

  2. 引导进入支持系统调用的内核或加载实现它的模块。

  3. 编写调用该系统调用的演示代码。

  4. 当内核崩溃时,请调试系统调用。

答案 2 :(得分:0)

我想通过"将int转换为char *"你的意思是生成一个整数值的字符表示。例如,如果我们有:

int i = 379;
char str[256];

你正在寻找一个系统调用,它将把i用于输入和输出" 379"到str。

Syscalls依赖于架构。所以我需要知道你在这里定位的平台/架构。 Syscall允许您呼叫系统服务' (也就是说,基本例程),你可能很幸运,因为大多数平台都有打印整数和字符串的服务。

那你在做什么平台?