1 / 17

Character strings in c

Character strings in c. A string is an array of characters. Strings must have a 0 or null character after the last character to show where the string ends. The null character is not included in the string.

ania
Download Presentation

Character strings in c

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Character strings in c

  2. A string is an array of characters. Strings must have a 0 or null character after the last character to show where the string ends. The null character is not included in the string.

  3. There are 2 ways of using strings. The first is with a character array and the second is with a string pointer.

  4. A character array is declared in the same way as a normal array. char ca[10]; You must set the value of each individual element of the array to the character you want and you must make the last character a 0. Remember to use %s when printing the string. char ca[10];ca[0] = 'H';ca[1] = 'e';ca[2] = 'l';ca[3] = 'l';ca[4] = 'o';ca[5] = 0;printf("%s",ca);

  5. char month1[ ]={‘j’,’a’,’n’,’u’,’a’,’r’,’y’}; /*String.c string variable*/ #include < stdio.h > main() { char month[15]; printf (“Enter the string”); fgets (month,8,stdin); printf (“The string entered is %s”, month); } Initializing Strings

  6. String pointers are declared as a pointer to a char. char *sp; When you assign a value to the string pointer it will automatically put the 0 in for you unlike character arrays. char *sp;sp = "Hello";printf("%s",sp);

  7. You can read a string into only a character array using scanf and not a string pointer. If you want to read into a string pointer then you must make it point to a character array. char ca[10],*sp;scanf("%s",ca);sp = ca;scanf("%s",sp);

  8. The strings.h header file has some useful functions for working with strings. Here are some of the functions you will use most often: String handling functions

  9. strcpy(destination,source)You can't just use string1 = string2 in C. You have to use the strcpy function to copy one string to another. strcpy copies the source string to the destination string. s1 = "abc";s2 = "xyz";strcpy(s1,s2); // s1 = "xyz"

  10. strcat(destination,source)Joins the destination and source strings and puts the joined string into the destination string. s1 = "abc";s2 = "xyz";strcat(s1,s2); // s1 = "abcxyz"

  11. strcmp(first,second)Compares the first and second strings. If the first string is greater than the second one then a number higher than 0 is returned. If the first string is less than the second then a number lower than 0 is returned. If the strings are equal then 0 is returned. s1 = "abc";s2 = "abc";i = strcmp(s1,s2); // i = 0

  12. strlen(string)Returns the amount of characters in a string. s = "abcde";i = strlen(s); // i = 5

  13. #include < stdio.h > #include < string.h > void main() { char s1[20],s2[20],s3[20]; int x,l1,l2,l3; printf(“Enter the strings”); scanf(“%s%s”,s1,s2); x=strcmp(s1,s2); if(x!=0) {printf(“\nStrings are not equal\n”); strcat(s1,s2); } else printf(“\nStrings are equal”); strcpy(s3,s1); l1=strlen(s1); l2=strlen(s2); l3=strlen(s3); printf(“\ns1=%s\t length=%d characters\n”,s1,l1); printf(“\ns2=%s\t length=%d characters\n”,s2,l2); printf(“\ns3=%s\t length=%d characters\n”,s3,l3); } /* Example program to use string functions*/

  14. Converting strings to numbers • char *str1=“123.79”; • char *str2 = “3”; • float x; • int y; x = atof(str1); y = atoi(str2); Additional String functions

  15. ctype.h has character handling functions • since a string is a character array, can convert to uppercase as follows: char name1[]=“Scooby”; int x; for (x=0; x <=strlen(name1); x++) name1[x] = toupper(name1[x]); uppercase

  16. ctype.h has character handling functions • since a string is a character array, can convert to lowercase as follows: char name1[]=“Scooby”; int x; for (x=0; x <=strlen(name1); x++) name1[x] = tolower(name1[x]); lowercase

  17. 1) Write a program that performs the following: • uses character arrays to read a user’s name from standard input (stdin) • tells the user how many characters are in their name • displays the user’s name in uppercase • displays the user’s name in lowercase • changes the user’s name to append “man” on the end – e.g. Jack becomes Jackman – and prints it out 2) Look up the strstr() function (page 196) and write a program that uses it to search for the last occurrence of a substring in a string. Print out the number of occurrences of the substring in the string. String programming assignments

More Related