C judges whether it is an elf file

#include <stdio.h>
#include <string.h>

int main(){
  FILE *fp;
  char fileName[100];
  char elf_magic[4] = {0x7f, 'E', 'L', 'F'};
  char buf[4];
  
  printf("Please enter file name: ");
  scanf("%s", fileName);
  
  fp = fopen(fileName, "rb");
  if (!fp) {
    printf("Open file failed!\n");
    return -1;
  }
  
  fread(buf, 1, 4, fp);
  if (memcmp(buf, elf_magic, 4) == 0) {
    printf("It is an ELF file!\n");
  } else {
    printf("It is not an ELF file!\n");
  }
  
  fclose(fp);
  
  return 0;
}

Guess you like

Origin blog.csdn.net/aa642531/article/details/128316955
Recommended