Escriba un programa en C que ingrese un archivo como argumentos de línea de comandos y detecte si el archivo es JPEG (Grupo Conjunto de Expertos Fotográficos) o no.
Acercarse:
- Daremos una imagen como argumento de línea de comando mientras ejecutamos el código.
- Lea los primeros tres bytes de la imagen dada (archivo).
- Después de leer los bytes del archivo, compárelo con la condición del archivo JPEG, es decir, si el primer, segundo y tercer byte del archivo dado es 0xff , 0xd8 y 0xff respectivamente, entonces el archivo dado es un archivo JPEG .
- De lo contrario, no es un archivo JPEG .
A continuación se muestra la implementación del enfoque anterior:
// C program for the above approach #include <ctype.h> #include <stdio.h> #include <string.h> // Driver Code int main(int argc, char* argv[]) { // If number of command line // argument is not 2 then return if (argc != 2) { return 1; } // Take file as argument as an // input and read the file FILE* file = fopen(argv[1], "r"); // If file is NULL return if (file == NULL) { return 1; } // Array to store the char bytes unsigned char bytes[3]; // Read the file bytes fread(bytes, 3, 1, file); // Condition for JPEG image // If the given file is a JPEG file if (bytes[0] == 0xff && bytes[1] == 0xd8 && bytes[1] == 0xff) { printf("This Image is " "in JPEG format!"); } // Else print "No" else { printf("No"); } return 0; }
Publicación traducida automáticamente
Artículo escrito por akhilsharma870 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA