#include #include #include #define UNUSED(x) ((void) (x)) /** * @brief Counts occurences of any substring in the file. * @param file File where the substring is to be counted in. * @param substring Substring to be counted. * @returns Count of occurences of the substring the given file. */ long count_anything(FILE *file, const char *substring) { /* TODO */ UNUSED(file); UNUSED(substring); return 0; } /** * @brief Counts ananas. Nothing more to it. * @param file File where the ananas is to be counted in. * @returns Count of occurences of ananas. */ long count_ananas(FILE *file) { return count_anything(file, "ananas"); } /** * @brief Writes given number to the file, character by character. * @param file File where the number is supposed to be written. * @param number Number to be written. */ void write_number(FILE *file, long number) { /* TODO */ UNUSED(file); UNUSED(number); } /** * @brief Main function of a program. * @returns Exit code that denotes following: * 0 in case of success * 1 in case of invalid usage * 2 in case of failure on input file * 3 in case of failure on output file */ int main(int argc, char **argv) { if (argc < 3 || argc > 4) { printf("Usage: %s [string-to-be-counted]\n", argv[0]); return 1; } /* TODO */ return 0; }