Manipulating Strings:
The string is a sequence of characters, with its starting indicated by a pointer and its end marked by null character \0. At times, you require knowing the length of a string (that is, the number of characters among the start and the end of string). This length is received with the library function strlen(). Its prototype, in STRING.H, is:
size_t strlen(char *str);The strcpy() Function:
The library function strcpy() copies a whole string to the other memory location. Its prototype is as shown below:
char *strcpy( char *destination, char *source );
Before employing strcpy(), you should assign storage space for the destination string.
/* Explains strcpy(). */ #include <stdlib.h> #include <stdio.h> #include <string.h> char source[] = "The source string.";main() { char dest1[80]; char *dest2, *dest3; printf("\nsource: %s", source ); /* Copy to dest1 is okay because dest1 points to */ /* 80 bytes of allocated space. */ strcpy(dest1, source); printf("\ndest1: %s", dest1); /* To copy to dest2 you must allocate space. */ dest2 = (char *)malloc(strlen(source) +1); strcpy(dest2, source); printf("\ndest2: %s\n", dest2); return(0); } source: The source string. dest1: The source string. dest2: The source string.The strncpy() Function:
The strncpy() function is just similar to strcpy(), apart from that strncpy() lets you identify how many characters to copy. This prototype is:
char *strncpy(char *destination, char *source, size_t n); /* Using the strncpy() function. */ #include <stdio.h> #include <string.h> char dest[] = ".........................."; char source[] = "abcdefghijklmnopqrstuvwxyz"; main() { size_t n; while (1) { puts("Enter the number of characters to copy (1-26)"); scanf("%d", &n); if (n > 0 && n< 27) break; }printf("\nBefore strncpy destination = %s", dest); strncpy(dest, source, n); printf("\nAfter strncpy destination = %s\n", dest); return(0); } Enter the number of characters to copy (1-26) 15 Before strncpy destination = .......................... After strncpy destination = abcdefghijklmno...........The strdup() Function:
The library function strdup() is alike to strcpy(), apart from that strdup() executes its own memory allocation for the destination string with a call to malloc().The prototype for strdup() is as:
char *strdup( char *source );
Employing strdup() to copy a string with the automatic memory allocation.
/* The strdup() function. */ #include <stdlib.h> #include <stdio.h> #include <string.h> char source[] = "The source string."; main() { char *dest; if ( (dest = strdup(source)) == NULL) { fprintf(stderr, "Error allocating memory."); exit(1); } printf("The destination = %s\n", dest); return(0); } The destination = The source string.The strcat() Function:
The prototype of strcat() is:
char *strcat(char *str1, char *str2);
The function appends a copy of str2 to the end of str1, moving the terminating null character to the end of new string. You should allocate adequate space for str1 to hold the resultant string. Return value of the strcat() is a pointer to str1. Following listing explains strcat().
/* The strcat() function. */ #include <stdio.h> #include <string.h> char str1[27] = "a"; char str2[2]; main() { int n; /* Put a null character at the end of str2[]. */ str2[1] = `\0'; for (n = 98; n< 123; n++) { str2[0] = n; strcat(str1, str2); puts(str1); } return(0); } ab abc abcd abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij abcdefghijk abcdefghijkl abcdefghijklm abcdefghijklmn abcdefghijklmnoabcdefghijklmnop abcdefghijklmnopq abcdefghijklmnopqr abcdefghijklmnopqrs abcdefghijklmnopqrst abcdefghijklmnopqrstu abcdefghijklmnopqrstuv abcdefghijklmnopqrstuvw abcdefghijklmnopqrstuvwx abcdefghijklmnopqrstuvwxy abcdefghijklmnopqrstuvwxyzThe strchr() Function:
The strchr() function determines the first occurrence of a specified character in a string. The prototype is:
char *strchr(char *str, int ch);
Function strchr() searches str from left to right till the character ch is found or the terminating null character is found. When ch is found, a pointer to it is returned. When not, the NULL is returned.
Whenever strchr() finds the character, it returns a pointer to that character. By knowing that str is a pointer to first character in the string, you can acquire the position of the found character by subtracting str from pointer value returned by the strchr(). Following Listing states this. Keep in mind that the initial character in a string is at position 0. Similar to many of C's string functions, strchr() is case-sensitive. For illustration, it would report that the character F is not found in the string raffle.
=> Using strchr() to search a string for the single character.
/* Searching for a single character with strchr(). */ #include <stdio.h> #include <string.h> main() { char *loc, buf[80]; int ch; /* Input the string and character. */ printf("Enter string to be searched: "); gets(buf); printf("Enter the character to be searched: "); ch = getchar(); /* perform the search. */ loc = strchr(buf, ch); if ( loc == NULL ) printf("The character %c was not found.", ch); else printf("The character %c was found at position %d.\n", ch, loc-buf); return(0); }Output:
Enter the string to be searched: How is Brown Cow? Enter the character to search for: C The character C was found at position 13.The strcspn() Function:
The library function strcspn() searches, one string for an initial occurrence of any of the characters in second string. Its prototype is:
size_t strcspn(char *str1, char *str2);
The function strcspn() begins searching at first character of str1, looking for any of individual characters contained in the str2. This is significant to remember. The function does not look for string str2, however only the characters it contains. When the function finds a match, it returns the offset from the starting of str1, where the matching character is situated. If it finds no match, the strcspn() returns value of strlen(str1). This points out that the first match was null character terminating the string.
=> Searching for the set of characters with strcspn()
/* Searching with strcspn(). */ #include <stdio.h> #include <string.h> main() { char buf1[80], buf2[80]; size_t loc; /* Input the strings. */ printf("Enter the string to be searched:"); gets(buf1); printf("Enter the string having target characters:"); gets(buf2); /* Execute the search. */ loc = strcspn(buf1, buf2); if ( loc == strlen(buf1) ) printf("No match was found."); else printf("The first match was found at position %d.\n", loc); return(0); }
Output:
Enter the string to be searched: How now Brown Cow? Enter the string having target characters: Cat The first match was found at position 14.The strpbrk() Function:
The library function strpbrk() is identical to strcspn(), searching one string for the initial occurrence of any character contained in the other string. It varies in that it does not comprise the terminating null characters in search. The function prototype is:
char *strpbrk(char *str1, char *str2);
The function strpbrk() returns a pointer to first character in str1 which matches any of the characters in str2. Whenever it does not find a match, the function returns NULL.The strstr() Function:
The final and possibly most helpful, C string-searching function is strstr(). This function searches for the initial occurrence of one string within the other, and it searches for the whole string, not for individual characters in the string. Its prototype is:
char *strstr(char *str1, char *str2);
The function strstr() returns a pointer to the primary occurrence of str2 in str1. When it finds no match, the function returns NULL. When the length of str2 is 0, then function returns str1. Whenever strstr() finds a match, you can receive the offset of str2 in str1 by pointer subtraction, as described earlier for strchr(). The matching processes that strstr() employs is case-sensitive.
=> Employing strstr() to search for one string within the other.
/* Searching with strstr(). */ #include <stdio.h> #include <string.h> main() { char *loc, buf1[80], buf2[80]; /* Input the strings. */ printf("Enter string to be searched: ");gets(buf1); printf("Enter target string: "); gets(buf2); /* Perform the search. */ loc = strstr(buf1, buf2); if ( loc == NULL ) printf("No match was found.\n"); else printf("%s was found at position %d.\n", buf2, loc-buf1); return(0);} Output:
Enter the string to be searched: How now brown cow? Enter the target string: cow Cow was found at position 14.The strrev() Function:
The function strrev() reverses the order of all characters in a string (that is, Not ANSI Standard). Its prototype is:
char *strrev(char *str);
Order of all the characters in str is reversed, with the terminating null character enduring at the end.
Latest technology based Programming Languages Online Tutoring Assistance
Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Programming Languages help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Programming Languages, project ideas and tutorials. We provide email based Programming Languages help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Programming Languages. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Programming Languages Homework help and assignment help services. They use their experience, as they have solved thousands of the Programming Languages assignments, which may help you to solve your complex issues of Programming Languages. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.
Avail affordable Kinetic Theory and Statistical Mechanics Assignment Help from PhD experts for top-notch grades.
theory and lecture notes of practical logic characteristics all along with the key concepts of logic voltages, noise immunity, drive capability, switching times, dynamic noise immunity and limitations of transistor circuits. tutorsglobe offers homework help, assignment help and tutor’s assistance on practical logic characteristics.
tutorsglobe.com calculation of atomic radius assignment help-homework help by online chemical periodicity tutors
www.tutorsglobe.com offers pipes and filters homework help, assignment help, case study, writing homework help, online tutoring assistance by computer science tutors.
Air and Water Vapor tutorial all along with the key concepts of Water and its Vapor, Macroscopic Properties of Pure Water, Liquid-Vapor Saturation Region, Wet Mixture, Super-Cooled Liquid and Super-Heated Vapor, Energy Properties of Pure Substance
malvaceae family involves about 82 genera and more than 1,500 species. the plants are cosmopolitan in distribution, more abundant in tropical and subtropical regions.
theory of oligopoly and its characteristics, kinked demand curve, www.tutorsglobe.com offers oligopoly assignment help - homework help by live economics tutors help.
TDMA in Mobile Phone Systems - 2G Systems (Several 2G cellular systems, along with the remarkable exception of IS-95, are relies on GSM, D-AMPS, TDMA, PDC, IDEN, and PHS is instances of TDMA cellular systems.), 3G Systems.
Boost your academic grades and performance by acquiring Greek and Roman Thought Assignment Help. Order now!
tutorsglobe.com myasthenia gravis assignment help-homework help by online muscles tutors
For Hand Winding method, four numbers of slot feeders are laced in the two selected slot at a distance from the coil pitch.
tutorsglobe.com digestion in small intestine assignment help-homework help by online carbohydrates tutors
Protozoa-Phyla Rhizopoda tutorial all along with the key concepts of Characteristics of Phylum Rhizopoda, Amoeba and Phylum Apicomplexa-Sporozoa
tutorsglobe.com antibodies assignment help-homework help by online immunology tutors
Dyeing Mechanisms tutorial all along with the key concepts of Textiles, Nontextile materials, Process of Dyeing, natural dye, Cellulose fibers
1952275
Questions Asked
3689
Tutors
1441361
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!