我想在一个文本文件中写一个地址,fscanf读取指针后可以通过C 读取和取消引用.如何在文件中写入地址?
编辑: 我不是故意粗鲁,但我知道这正是我所需要的,所以如果有人可以请你只是列出答案,而不是为什么我不应该这样做的道德原因,这将是伟大的!
进一步编辑:
啊,我不清楚我想做什么.在emacs中,我想(用我的手指!!)写一个C程序可以使用fscanf读取的地址并用作指针.我如何(用我的手指!!)在emacs中写一个地址.例如,如果我想让C读入0x11111111,我试图写入0x11111111emacs,但是当我读它时,它并没有成为C中的正确地址.
fprintf(file, "%p", pointer);
Run Code Online (Sandbox Code Playgroud)
应该做的工作; 但如果您阅读该文件,该地址是否有用是值得怀疑的......
也许对于某些硬件寄存器/ IO端口或共享内存,这可能很有趣,但在一般情况下:不要使用它.Segfault,无意义数据或数据损坏将成为结果......
[添加]
fscanf(... "%x" ...)
Run Code Online (Sandbox Code Playgroud)
应读取十六进制编码的整数,即地址.
小智 6
你不能这样做.当再次读入指针时,无法保证指针有效 - 如果它被另一个进程读取,它几乎肯定不会.如果它被同一个进程读取,为什么首先将它写入文件?