Presentation is loading. Please wait.

Presentation is loading. Please wait.

 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.

Similar presentations


Presentation on theme: " 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."— Presentation transcript:

1

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 main() { char month[15]; printf (“Enter the string”); fgets (month,8,stdin); printf (“The string entered is %s”, month); }

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:

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 #include 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); }

14  Converting strings to numbers  char *str1=“123.79”;  char *str2 = “3”;  float x;  int y; x = atof(str1); y = atoi(str2);

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]);

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]);

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.


Download ppt " 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."

Similar presentations


Ads by Google