映射文件并获取字节值
Map a file and get byte value
我需要映射一个文件然后获取它的字节值(从映射区域)。
我已经映射了文件,像这样:
void* kd_test_mmapw( int d, int size )
{
void *a = NULL;
a = mmap( NULL, size, PROT_READ, MAP_SHARED, d, 0 );
if( a == MAP_FAILED )
{
perror( "mmap failed" );
abort();
}
return a;
}
但是我不知道如何获取字节值
a
是指向映射区域第一个字节的指针。您可以将指针视为指向字节数组的指针。
如果要访问 1234
字节,只需使用:
char *asChar = (char*)a;
char myByte = asChar[1233];
我需要映射一个文件然后获取它的字节值(从映射区域)。
我已经映射了文件,像这样:
void* kd_test_mmapw( int d, int size )
{
void *a = NULL;
a = mmap( NULL, size, PROT_READ, MAP_SHARED, d, 0 );
if( a == MAP_FAILED )
{
perror( "mmap failed" );
abort();
}
return a;
}
但是我不知道如何获取字节值
a
是指向映射区域第一个字节的指针。您可以将指针视为指向字节数组的指针。
如果要访问 1234
字节,只需使用:
char *asChar = (char*)a;
char myByte = asChar[1233];