Question
I need this in c programming assignment is given and also code is given you just have to code the lines where it says TODO
I need this in c programming
assignment is given and also code is given you just have to
code the lines where it says TODO here
please edit the code that i have given and please send me screenshot of the output as well
please only edit this below code shown. any other form will not work
#include #include
//You might need the below function //This function returns the length of a string //It is equivlent to strlen() in string.h
int lenstr(char* s) { int len = 0; while(s[len++] != ''); return len-1; }
/** Appends the src string to the end of the * dest string. Return the resulting string. */
char* strcat(char dest[], char src[]) { //Add your code here
}
/** Searches the haystack string for the needle * substring. Return a pointer to the located * needle substring in the haystack string if * it exists (and the first if there are more * than one), or NULL if the needle is not in * the haystack. */
char* strstr(char haystack[], char needle[]) {
//Add your code here
}
/** Searches for the first occurrence of the * character c in the string s and returns a * pointer to it. If c does not appear in s, * return NULL. */
char* str_chr(char s[], char c) {
//Add your code here
}
/** Returns a pointer to a new string which is * a copy of the given string s. */
char* strdup(char s[]) { //Add your code here
}
/** Returns 1 if the strings s1 and s2 are the * same, returns 0 otherwise. */
int streq(char s1[], char s2[]) { //Add your code here
}
/** Main function. Add code to free allocated memory! * Valgrind should NOT yield any errors once you're done! * DO NOT CHANGE OUTPUTS! JUST ADD CLEAN UP CODE! */ int main(int argc, char** argv) { /* Read strings from program arguments */ if(argc != 3) { printf("usage: ./strfuncs s1 s2 "); return 1; } char* s1 = argv[1]; char* s2 = argv[2]; printf("String 1: %s ", s1); printf("String 2: %s ", s2); /* Check for string equality */ int s1eqs2 = streq(s1, s2); printf("s1=s2? %s ", s1eqs2 ? "yes" : "no"); /* Concatenate s1 to s2 and s2 to s1 */ char* s1s2 = strcat(s1, s2); char* s2s1 = strcat(s2, s1); printf("s1+s2=%s ", s1s2); printf("s2+s1=%s ", s2s1); /* Check for substrings */ char* s1ins2 = strstr(s2, s1); char* s2ins1 = strstr(s1, s2); printf("s1 in s2 -> %s ", s1ins2 == NULL ? "no" : "yes"); printf("s2 in s1 -> %s ", s2ins1 == NULL ? "no" : "yes"); /* Check for character occurence */ char* ains1 = str_chr(s1, 'a'); printf("'a' in s1? %s ", ains1 == NULL ? "no" : "yes"); /* Check duplication of strings */ char* dups1 = strdup(s1); printf("dup(s1)=%s ", dups1); /* Clean up, i.e. free memory! */ //Add your code here
/* Done! */ return 0; }
Exercise 2. (50 points) DIY String Functions In this assignment, we will implement five string functions ourselves. The five functions to implement are strcat, strstr, strchr, strdup, and streq. Documentation for each function is provided in strfuncs.c. Some of these functions already have implementations in C; These functions are not allowed for this assignment! We must implement each of these functions without using any built-in string functions. Any use of built-in string functions will result in no credit for this assignment Once we have implemented these five functions, we should also add some code to the main function to free any memory our functions may have allocated when invoked. Add this code at the end of the function under the relevant comment. Valgrind should not report any errors or memory leaks! A quick start guide for Valgrind can be found at http://valgrind. org/ docs/manual/ quick-start. html 02d-random-c strfuncs.c x includeStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started