The program uses a command-line interface to present user options for querying a data file and saving query results. It implements multi-threading and dynamic memory allocation to copy, save, and write file data according to the user's input.
The program requires a C compiler and POSIX threads support.
Save all the program files, including "makefile" and "pokemon.csv," in one directory (folder). Then, open a command-line interface, navigate to the directory containing the files, and run the command make. Run the command ./main to start the program.
The program was tested on macOS 15.7 using Clang.