Android 以内核模式写入文件,并获取“\00”符号而不是“”空格

Android 以内核模式写入文件,并获取“\00”符号而不是“”空格,android,c,linux,linux-kernel,Android,C,Linux,Linux Kernel,我这样写进文件 vfs_write(filp, prefix, strlen(prefix), &pos); pos = pos + strlen(prefix); 但在文件中,除了我的数据外,我还看到\00个符号。它们占用了从数据末尾到每行末尾的所有可用空间 ff ff ff ff a0 a1 a2 a3 a4 a5 81 00 08 34\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00

我这样写进文件

vfs_write(filp, prefix, strlen(prefix), &pos);
    pos = pos + strlen(prefix);
但在文件中,除了我的数据外,我还看到\00个符号。它们占用了从数据末尾到每行末尾的所有可用空间

ff ff ff ff a0 a1 a2 a3 a4 a5 81 00 08 34\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \0008 06 00 01 08 00 06 04 00 01 a0 a1 a2 a3 a4 a5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00

像这样的


我怎样才能只向文件中写入我的数据而不写入其他内容?

我猜vfs_write updates pos是自动更新的,所以您不需要自己增加它。非常感谢,确实如此。也许您的前缀指向的数组只存在于内核地址空间中?它必须是一个用户空间指针,即指向当前进程地址空间中的地址,而不是指向某些仅内核可见内存的指针;看见