将值存储在string或int的内存地址中

时间:2015-04-07 00:37:18

标签: c linux kernel

  1. 我需要将内存位置的值更改为int值。 问题是我在使用c工作在内核中,我只将这个地址作为字符串从用户空间接收,如此" 0xbfac6d78"我已设法将此十六进制值转换为long int值,这给了我-1079218824。问题是我如何使用我必须将此地址中存储的内容更改为某个int值?

  2. 我试过这个但是我得到了段错误:

    *(long int*)value = 3;
    //where value is a long int variable with the value -1079218824 stored in it
    *(int*)buff = 3;
    //where buff is just a string with 0xbfac6d78 stored in it
    
  3. 是的,这个地址已经被mallocd;

0 个答案:

没有答案