如何在可以在C中读取和解除引用的文本文件中写入地址(指针)

Ton*_*ark 3 c pointers file

我想在一个文本文件中写一个地址,fscanf读取指针后可以通过C 读取和取消引用.如何在文件中写入地址?

编辑: 我不是故意粗鲁,但我知道这正是我所需要的,所以如果有人可以请你只是列出答案,而不是为什么我不应该这样做的道德原因,这将是伟大的!

进一步编辑: 啊,我不清楚我想做什么.在emacs中,我想(用我的手指!!)写一个C程序可以使用fscanf读取的地址并用作指针.我如何(用我的手指!!)在emacs中写一个地址.例如,如果我想让C读入0x11111111,我试图写入0x11111111emacs,但是当我读它时,它并没有成为C中的正确地址.

ost*_*sti 8

fprintf(file, "%p", pointer);
Run Code Online (Sandbox Code Playgroud)

应该做的工作; 但如果您阅读该文件,该地址是否有用是值得怀疑的......

也许对于某些硬件寄存器/ IO端口或共享内存,这可能很有趣,但在一般情况下:不要使用它.Segfault,无意义数据或数据损坏将成为结果......

[添加]

fscanf(... "%x" ...)
Run Code Online (Sandbox Code Playgroud)

应读取十六进制编码的整数,即地址.


小智 6

你不能这样做.当再次读入指针时,无法保证指针有效 - 如果它被另一个进程读取,它几乎肯定不会.如果它被同一个进程读取,为什么首先将它写入文件?

  • 您可以在某个低级嵌入式系统中执行此操作,既没有内存映射,也没有分页或保护.这一切都不是.有些计算机具有非常原始和简单的内存布局. (2认同)