C++ 如何使用syscall将int转换为char*?
这是了解有关syscall的更多信息的作业的一部分C++ 如何使用syscall将int转换为char*?,c++,c,operating-system,mmap,system-calls,C++,C,Operating System,Mmap,System Calls,这是了解有关syscall的更多信息的作业的一部分 我如何在C++中使用SysCurt转换int,而不是使用SCAFTF或C++中的任何其他库函数,我想我需要使用MMAP,但是我可以找到任何关于如何使用它的文档 < P>不,你不能用SysCall来做。如果系统调用需要字符串,请在调用系统调用之前将整数转换为字符串。使用sprintf进行转换。我认为“将int转换为char*”意味着生成一个整数值的字符表示。例如,如果我们有: int i = 379; char str[256]; 您正在寻找一
我如何在C++中使用SysCurt转换int,而不是使用SCAFTF或C++中的任何其他库函数,我想我需要使用MMAP,但是我可以找到任何关于如何使用它的文档
< P>不,你不能用SysCall来做。如果系统调用需要字符串,请在调用系统调用之前将整数转换为字符串。使用sprintf进行转换。我认为“将int转换为char*”意味着生成一个整数值的字符表示。例如,如果我们有:int i = 379;
char str[256];
您正在寻找一个syscall调用,它将i作为输入,并将“379”输出到str
系统调用依赖于体系结构。因此,我需要知道您的目标是什么平台/体系结构。Syscall允许您调用“系统服务”(即一个基本例程),您可能很幸运,因为大多数平台都有打印整数和字符串的服务
那么你在哪个平台上工作
int
转换为char*
的系统调用我相信你有一个有趣的理由想这样做;我想知道它是什么。sprintf有什么问题吗?这是任务的一部分,试图理解系统调用是如何工作的,但我找不到任何关于这方面的好信息转换的结果应该是什么?给定
int
值42
,您希望char*
结果指向值为“42”
的字符串,还是在寻找其他内容?您正在使用哪个操作系统(不同的系统有不同的系统调用)?最后,为什么要对一些可以在用户(非内核)代码中轻松完成的事情进行系统调用?我只是想知道:为什么你认为mmap会在这里帮助你?我使用的是未修改版本的ubuntuUbuntu操作系统。架构是什么?为什么他不能用系统调用呢?当你说“系统调用”时,你在说什么系统调用?