Strings String Literals String Variables String Functions

Strings String Literals String Variables String Functions

Strings String literals • Strings are not a built-in data type. char *name = "csc209h"; printf("This is a string literal\n"); • C provides almost no special means of defining or working with strings. • String literals are stored as character arrays, but • A string is an array of characters you can't change them. terminated with a “null character” ('\0') name[1] = 'c'; /* Error */ • The compiler reserves space for the number of characters in the string plus one to store the null character. 1 2 String Variables String functions • arrays are used to store strings • The library provides a bunch of string • strings are terminated by the null character ('\0') functions which you should use (most of the (That's how we know a string's length.) time). • Initializing strings: • man string – char course[8] = "csc209h"; • int strlen(char *str) – course is an array of characters – returns the length of the string. Remember that – char *s = "csc209h"; the storage needed for a string is one plus its – s is a pointer to a string literal length 3 4 Copying a string Concatenating strings char *strncat(char *s1, const char *s2, char *strncpy(char *dest, size_t n); char *src, int size) – appends the contents of string s2 to the end of – copy up to size bytes of the string pointed to by src s1, and returns s1. in to dest. Returns a pointer to dest. – only appends up to n bytes to s1 – Do not use strcpy (buffer overflow problem) char str1[3]; • Watch out! It is easy to forget how much space is char str2[5] = "abcd"; left. – char str1[6] = "abc"; /*common error*/ – strncat(str1, "def", 6); /*wrong*/ strncpy(str1, str2, strlen(str2)); 5 6 NAME strchr, strrchr - locate character in string Comparing strings SYNOPSIS #include <string.h> int strcmp(const char *s1, char *strchr(const char *s, int c); char *strrchr(const char *s, int c); const char *s2) DESCRIPTION • compares s1 and s2, returning a value less The strchr() function returns a pointer to the first occurrence of the than, equal to, or greater than 0 depending on character c in the string s. whether s1 is less than, equal to, or greater The strrchr() function returns a pointer to the last occurrence of the than s2. character c in the string s. if( strcmp(str1, str2) <= 0) RETURN VALUE The strchr() and strrchr() functions return a pointer to the matched /* is str1 <= str2 */ character or NULL if the character is not found. 7 8.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    2 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us