#include #include "IdanStringPointersLib.h" #define STRING_MAX_SIZE 256 //--------------------------------------------------------------------------------------- // CountStringBInStringA // --------------------- // // General : Counting how many times stringB in stringA. // // Parameters : // *start_string_a - Pointer of first string (char[]) // *start_string_b - Pointer of second string (char[]) // // Return value : Count second string in first string (unsigned int). // //--------------------------------------------------------------------------------------- // Programmer : Cohen Idan // Student No : 211675038 // Date : 12.11.19 //--------------------------------------------------------------------------------------- unsigned int CountStringBInStringA(char *start_string_a, char *start_string_b) { char *ptr_string_a_temp = start_string_a; char temp = BACKSLASH_ZERO; unsigned short count = ZERO; unsigned short textB_lenght = StringLenght(start_string_b); char *address = (ptr_string_a_temp + textB_lenght); while (*(address - ONE)) { SwapChars(&temp, address); count += StringCompare(ptr_string_a_temp, start_string_b); SwapChars(&temp, address); address = ((++ptr_string_a_temp) + textB_lenght); } return (count); } //----------------------------------------------------------------- // exe 1 // ----- // General : the program goes over the string and checks how many // appearences the substring makes. // // Input : a string and a word/sub-string to search for. // // Process : the program takes the sub-string and checks if the // string has the same sequence of chars in it. // // Output : The times it has shown up in the string. //----------------------------------------------------------------- // Proggramer : Cohen Idan // Student No : 211675038 // Date : 12.11.19 //----------------------------------------------------------------- void main(void) { char stringA[STRING_MAX_SIZE] = "aaaaaaaaaaaababbbbbbbbbab"; char stringB[STRING_MAX_SIZE] = "ab"; printf("Count: %d\n", CountStringBInStringA(&stringA[ZERO], &stringB[ZERO])); }