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

How to convert int to char* using syscall?

本文关键字:char 转换 int 何使用 syscall      更新时间:2023-10-16

这是学习更多关于syscall的作业的一部分。

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

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

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

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

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

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

我认为"将int转换为char*"意味着生成整数值的字符表示。例如,如果我们有:

int i = 379;
char str[256];

您正在寻找一个系统调用,它将使用i作为str.的输入和输出"379"

系统调用依赖于体系结构。所以我需要知道你在这里针对的是什么平台/架构。Syscall允许您调用"系统服务"(即基本例程),您可能很幸运,因为大多数平台都有打印整数和字符串的服务。

那么你在哪个平台上工作呢?