Computer Science, asked by maira4814, 3 months ago

please answer Write a choice based program to demonstrate the using of different string functions and methods. Take

a string as input from user and display the available choices, and call the respective functions and

methods.Write a user defined function, which can be called by passing all the 4 types of arguments. Make 4

different function calls to demonstrate the same.​

Answers

Answered by archanasingh5257b
0

Answer:

String is an array of characters. In this guide, we learn how to declare strings, how to work with strings in C programming and how to use the pre-defined string handling functions.

We will see how to compare two strings, concatenate strings, copy one string to another & perform various string manipulation operations. We can perform such operations using the pre-defined functions of “string.h” header file. In order to use these string functions you must include string.h file in your C program.

String Declaration

string declaration in C

Method 1:

char nickname[20];

printf("Enter your Nick name:");

/* I am reading the input string and storing it in nickname

* Array name alone works as a base address of array so

Syntax:

size_t strnlen(const char *str, size_t maxlen)

size_t represents unsigned short

It returns length of the string if it is less than the value specified for maxlen (maximum length) otherwise it returns maxlen value.

Example of strnlen:

#include <stdio.h>

#include <string.h>

int main()

{

char str1[20] = "BeginnersBook";

printf("Length of string str1 when maxlen is 30: %d", strnlen(str1, 30));

printf("Length of string str1 when maxlen is 10: %d", strnlen(str1, 10));

return 0;

}

Output:

Length of string str1 when maxlen is 30: 13

Length of string str1 when maxlen is 10: 10

Have you noticed the output of second printf statement, even though the string length was 13 it returned only 10 because the maxlen was 10.

C String function – strcmp

int strcmp(const char *str1, const char *str2)

It compares the two strings and returns an integer value. If both the strings are same (equal) then this function would return 0 otherwise it may return a negative or positive value based on the comparison.

If string1 < string2 OR string1 is a substring of string2 then it would result in a negative value. If string1 > string2 then it would return positive value.

If string1 == string2 then you would get 0(zero) when you use this function for compare strings.

Example of strcmp:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[20] = "BeginnersBook";

char s2[20] = "BeginnersBook.COM";

if (strcmp(s1, s2) ==0)

{

printf("string 1 and string 2 are equal");

}else

{

printf("string 1 and 2 are different");

}

return 0;

}

Output:

string 1 and 2 are different

C String function – strncmp

int strncmp(const char *str1, const char *str2, size_t n)

size_t is for unassigned short

It compares both the string till n characters or in other words it compares first n characters of both the strings.

Example of strncmp:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[20] = "BeginnersBook";

char s2[20] = "BeginnersBook.COM";

/* below it is comparing first 8 characters of s1 and s2*/

if (strncmp(s1, s2, 8) ==0)

{

printf("string 1 and string 2 are equal");

}else

{

printf("string 1 and 2 are different");

}

return 0;

}

Output:

string1 and string 2 are equal

C String function – strcat

char *strcat(char *str1, char *str2)

It concatenates two strings and returns the concatenated string.

Example of strcat:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[10] = "Hello";

char s2[10] = "World";

strcat(s1,s2);

printf("Output string after concatenation: %s", s1);

return 0;

}

Output:

Output string after concatenation: HelloWorld

C String function – strncat

char *strncat(char *str1, char *str2, int n)

It concatenates n characters of str2 to string str1. A terminator char (‘\0’) will always be appended at the end of the concatenated string.

Example of strncat:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[10] = "Hello";

char s2[10] = "World";

strncat(s1,s2, 3);

printf("Concatenation using strncat: %s", s1);

return 0;

}

Output:

Concatenation using strncat: HelloWor

C String function – strcpy

char *strcpy( char *str1, char *str2)

It copies the string str2 into string str1, including the end character (terminator char ‘\0’).

Example of strcpy:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[30] = "string 1";

char s2[30] = "string 2 : I’m gonna copied into s1";

/* this function has copied s2 into s1*/

strcpy(s1,s2);

printf("String s1 is: %s", s1);

return 0;

}

Now let’s take the same above example:

#include <stdio.h>

#include <string.h>

int main()

{

char mystr[30] = "I’m an example of function strchr";

printf ("%s", strrchr(mystr, 'f'));

return 0;

}

Output:

function strchr

Why output is different than strchr? It is because it started searching from the end of the string and found the first ‘f’ in function instead of ‘of’.

C String function – strstr

char *strstr(char *str, char *srch_term)

It is similar to strchr, except that it searches for string srch_term instead of a single char.

Example of strstr:

#include <stdio.h>

#include <string.h>

int main()

{

char inputstr[70] = "String Function in C at BeginnersBook.COM";

printf ("Output string is: %s", strstr(inputstr, 'Begi'));

return 0;

}

Output:

Output string is: BeginnersBook.COM

You can also use this function in place of strchr as you are allowed to give sing

Similar questions