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

标签 c file pointers

我想在一个文本文件中写入一个地址,它可以被fscanf 读取,并在读取指针后被C 解引用。如何在文件中写入地址?

编辑: 我不是故意粗鲁,但我知道这正是我需要的,所以如果有人可以列出答案,而不是我不应该这样做的道德原因,那就太好了!

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

最佳答案

fprintf(file, "%p", pointer);

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

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

[添加]

fscanf(... "%x" ...)

应该读取一个十六进制编码的整数,也就是地址。

关于c - 如何在文本文件中写入可以在 C 中读取和取消引用的地址(指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2832781/

相关文章:

c - 在字符数组中寻找特定的一对位 '10' 或 '01'

c++ - reinterpret_cast 从原始内存中获取的指针重新分配是否会导致 UB?

c++ - 读取大文件中一行的前 N ​​个字符的最快方法是什么?

java - Android检查文件错误 “Type mismatch: inferred type is Context but Path! was expected”

c++ - 在 C 中打印存储在 **char 中的值

c - 内联函数是否会导致创建弱符号?

java - 如何在java中创建输出文件?

C 小于运算符

将输入字符与 C 中的整数数组进行比较

c - 内存泄漏和无效读/写