Introduction ttoo PPrrooggrraammmmiinngg 
LLeeccttuurree 1177
SSttrriinngg HHaannddlliinngg
String Manipulation FFuunnccttiioonnss
CChhaarraacctteerr
AASSCCIIII
11 bbyyttee == 88 bbiittss
EExxaammppllee 11 
#iinncclluuddee<<iioossttrreeaamm..hh>> 
mmaaiinn (( )) 
{{ 
iinntt ii ;; 
cchhaarr cc ;; 
ffoorr(( ii == 00;; ii << 225566 ;; ii ++++ )) 
{{ 
cc == ii ;; 
ccoouutt <<<< ii <<<< ““tt”” <<<< cc <<<<eennddll ;; 
}} 
}}
HHeeaaddeerr FFiillee 
ccttyyppee..hh 
#iinncclluuddee<<ccttyyppee..hh>>
ccttyyppee FFuunnccttiioonnss 
iinntt iissddiiggiitt (( iinntt cc )) 
iinntt iissaallpphhaa (( iinntt cc )) 
iinntt iissaallnnuumm (( iinntt cc )) 
iinntt iissxxddiiggiitt (( iinntt cc )) 
iinntt iisslloowweerr (( iinntt cc )) 
iinntt iissuuppppeerr (( iinntt cc )) 
iinntt ttoolloowweerr (( iinntt cc )) 
iinntt ttoouuppppeerr (( iinntt cc )) 
iinntt iissssppaaccee (( iinntt cc )) 
iinntt iissccnnttrrll (( iinntt cc )) 
iinntt iissppuunncctt (( iinntt cc )) 
iinntt iisspprriinntt (( iinntt cc )) 
iinntt iissggrraapphh (( iinntt cc ))
iissddiiggiitt (( )) FFuunnccttiioonn 
iinntt iissddiiggiitt (( iinntt cc )) ;;
iissaallpphhaa (( )) FFuunnccttiioonn 
iinntt iissaallpphhaa (( iinntt cc )) ;;
iissaallnnuumm (( )) FFuunnccttiioonn 
iinntt iissaallnnuumm (( iinntt cc )) ;;
iisslloowweerr (( )) FFuunnccttiioonn 
iinntt iisslloowweerr (( iinntt cc )) ;;
iissuuppppeerr (( )) FFuunnccttiioonn 
iinntt iissuuppppeerr (( iinntt cc )) ;;
ttoolloowweerr (( )) FFuunnccttiioonn 
iinntt ttoolloowweerr (( iinntt cc )) ;;
ttoouuppppeerr (( )) FFuunnccttiioonn 
iinntt ttoouuppppeerr (( iinntt cc )) ;;
ggeettcchhaarr 
(( )) ;;
cout << “Please enter a character ssttrriinngg tthheenn pprreessss eenntteerr””;; 
wwhhiillee (( (( cc == ggeettcchhaarr (( )) )) !!== ‘‘nn’’ )) 
{{ 
iiff (( iisslloowweerr (( cc )) )) 
llcc ++++ ;; 
eellssee iiff (( iissuuppppeerr (( cc )) )) 
uucc ++++ ;; 
eellssee iiff ((iissddiiggiitt (( cc )) )) 
ddiigg ++++;; 
eellssee iiff (( iissssppaaccee (( cc )) )) 
wwss ++++ ;; 
eellssee iiff (( iissppuunncctt (( cc )) )) 
ppuunn ++++ ;; 
eellssee 
ootthh ++++ ;; 
}}
String Conversion FFuunnccttiioonnss 
ddoouubbllee aattooff (( cchhaarr ** ssttrr )) 
iinntt aattooii ((cchhaarr ** ssttrr )) 
lloonngg aattooll ((cchhaarr ** ssttrr ))
aattooii (( )) FFuunnccttiioonn 
cchhaarr ssttrr [[ ]] ;; 
iinntt aaggee ;; 
aaggee == aattooii (( ssttrr )) ;;
aattooff (( )) FFuunnccttiioonn 
1122..8899
aattooff (( )) FFuunnccttiioonn 
cchhaarr ssttrr [[ ]] ;; 
ddoouubbllee ddVVaarr ;; 
ddVVaarr == aattooff (( ssttrr )) ;;
iinntt mmaaiinn ((iinntt aaggrrcc,, cchhaarr ****aaggrrvv )) 
‘‘aarrggcc’’ ssttaannddss ffoorr aa ccoouunntt ooff tthhee nnuummbbeerr ooff 
aarrgguummeennttss 
‘‘aarrggvv’’ ssttaannddss ffoorr aa vveeccttoorr ooff aarrgguummeennttss
SSttrriinngg FFuunnccttiioonnss
String Manipulation Functions 
Function prototype Function de scription 
char *strcpy( char *s1, 
const char *s2 ) 
Copies string s2 into array s1. The value of s1 is 
returned. 
char *strncpy( char *s1, 
const char *s2, size_t n) 
Copies at most n characters of string s2 into array s1. 
The value of s1 is returned. 
int strcmp( const char *s1, 
const char *s2 ); 
Compares string s1 to s2 
Returns a negative number if s1 < s2, zero if s1 == s2 
or a positive number if s1 > s2 
int strncmp( const char *s1, 
const char *s2, size_t n ); 
Compares up to n characters of string s1 to s2 
Returns values as above 
char *strcat( char *s1, 
const char *s2 ) 
Appends string s2 to array s1. The first character of 
s2 overwrites the terminating null character of s1. 
The value of s1 is returned. 
char *strncat( char *s1, 
const char *s2, size_t n ) 
Appends at most n characters of string s2 to array s1. 
The first character of s2 overwrites the terminating 
null character of s1. The value of s1 is returned.
iinntt ssuumm ;; 
iinntt ssuumm__eevveenn ;; 
iinntt ssuumm__oodddd ;; 
mmyySSttrrccppyy (( )) ;;
SSttrriinngg MMaanniippuullaattiioonn 
FFuunnccttiioonnss 
cchhaarr ** ssttrrccppyy ((cchhaarr **ss11 ,, ccoonnsstt cchhaarr **ss22 )) ;; 
cchhaarr ** ssttrrnnccppyy (( cchhaarr **ss11 ,, cchhaarr **ss22 ,, iinntt nn )) ;; 
cchhaarr ** ssttrrccaatt ((cchhaarr **ss11 ,, cchhaarr **ss22 )) ;; 
cchhaarr ** ssttrrnnccaatt (( cchhaarr **ss11 ,, cchhaarr **ss22 ,, iinntt nn )) ;;
ssttrrccmmpp (( )) 
FFuunnccttiioonn 
iinntt ssttrrccmmpp ((ccoonnsstt cchhaarr **ss11 ,, ccoonnsstt cchhaarr **ss22 )) ;;
ssttrrnnccmmpp (( )) FFuunnccttiioonn 
iinntt ssttrrnnccmmpp (( ccoonnsstt cchhaarr **ss11 ,, ccoonnsstt cchhaarr **ss22 ,, iinntt nn )) ;;
ssttrrlleenn (( )) FFuunnccttiioonn 
iinntt ssttrrlleenn (( ccoonnsstt cchhaarr **ss )) ;;
SSeeaarrcchh FFuunnccttiioonnss
SSeeaarrcchh FFuunnccttiioonnss 
Function proto type Function description 
char *strchr( const char *s, 
int c ); 
Locates the first occurrence of character c in string s. If c is found, a pointer to c in 
s is returned. Otherwise, a NULL pointer is returned. 
size_t strcspn( const char 
*s1, const char *s2 ); 
Determines and returns the length of the initial segment of strings 1 consisting of 
characters not contained in string s2. 
size_t strspn( const char 
*s1, const char *s2 ); 
Determines and returns the length of the initial segment of string s1 consisting only 
of characters contained in string s2. 
char *strpbrk( const char 
*s1, const char *s2 ); 
Locates the first occurrence in string s1 of any character in string s2. If a character 
from string s2 is found, a pointer to the character in string s1 is returned. Other-wise, 
a NULL pointer is returned. 
char *strrchr( const char *s, 
int c ); 
Locates the last occurrence of c in string s. If c is found, a pointer to c in string s is 
returned. Otherwise, a NULL pointer is returned. 
char *strstr( const char *s1, 
const char *s2 ); 
Locates the first occurrence in string s1 of string s2. If the string is found, a pointer 
to the string in s1 is returned. Otherwise, a NULL pointer is returned. 
char *strtok( char *s1, const 
char *s2 ); 
A sequence of calls to strtok breaks string s1 into “tokens”—logical pieces such 
as words in a line of text—separated by characters contained in string s2. The first 
call contains s1 as the first argument, and subsequent calls to continue tokenizing 
the same string contain NULL as the first argument. A pointer to the current token is 
returned by each call. If there are no more tokens when the function is calledN, ULL 
is returned.
TThhiiss iiss aa tteesstt 
““ ““ wwrroonngg 
‘‘ ‘‘ rriigghhtt 
NNUULLLL

CS201- Introduction to Programming- Lecture 17

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    11 bbyyttee ==88 bbiittss
  • 7.
    EExxaammppllee 11 #iinncclluuddee<<iioossttrreeaamm..hh>> mmaaiinn (( )) {{ iinntt ii ;; cchhaarr cc ;; ffoorr(( ii == 00;; ii << 225566 ;; ii ++++ )) {{ cc == ii ;; ccoouutt <<<< ii <<<< ““tt”” <<<< cc <<<<eennddll ;; }} }}
  • 8.
    HHeeaaddeerr FFiillee ccttyyppee..hh #iinncclluuddee<<ccttyyppee..hh>>
  • 9.
    ccttyyppee FFuunnccttiioonnss iinnttiissddiiggiitt (( iinntt cc )) iinntt iissaallpphhaa (( iinntt cc )) iinntt iissaallnnuumm (( iinntt cc )) iinntt iissxxddiiggiitt (( iinntt cc )) iinntt iisslloowweerr (( iinntt cc )) iinntt iissuuppppeerr (( iinntt cc )) iinntt ttoolloowweerr (( iinntt cc )) iinntt ttoouuppppeerr (( iinntt cc )) iinntt iissssppaaccee (( iinntt cc )) iinntt iissccnnttrrll (( iinntt cc )) iinntt iissppuunncctt (( iinntt cc )) iinntt iisspprriinntt (( iinntt cc )) iinntt iissggrraapphh (( iinntt cc ))
  • 10.
    iissddiiggiitt (( ))FFuunnccttiioonn iinntt iissddiiggiitt (( iinntt cc )) ;;
  • 11.
    iissaallpphhaa (( ))FFuunnccttiioonn iinntt iissaallpphhaa (( iinntt cc )) ;;
  • 12.
    iissaallnnuumm (( ))FFuunnccttiioonn iinntt iissaallnnuumm (( iinntt cc )) ;;
  • 13.
    iisslloowweerr (( ))FFuunnccttiioonn iinntt iisslloowweerr (( iinntt cc )) ;;
  • 14.
    iissuuppppeerr (( ))FFuunnccttiioonn iinntt iissuuppppeerr (( iinntt cc )) ;;
  • 15.
    ttoolloowweerr (( ))FFuunnccttiioonn iinntt ttoolloowweerr (( iinntt cc )) ;;
  • 16.
    ttoouuppppeerr (( ))FFuunnccttiioonn iinntt ttoouuppppeerr (( iinntt cc )) ;;
  • 17.
  • 18.
    cout << “Pleaseenter a character ssttrriinngg tthheenn pprreessss eenntteerr””;; wwhhiillee (( (( cc == ggeettcchhaarr (( )) )) !!== ‘‘nn’’ )) {{ iiff (( iisslloowweerr (( cc )) )) llcc ++++ ;; eellssee iiff (( iissuuppppeerr (( cc )) )) uucc ++++ ;; eellssee iiff ((iissddiiggiitt (( cc )) )) ddiigg ++++;; eellssee iiff (( iissssppaaccee (( cc )) )) wwss ++++ ;; eellssee iiff (( iissppuunncctt (( cc )) )) ppuunn ++++ ;; eellssee ootthh ++++ ;; }}
  • 19.
    String Conversion FFuunnccttiioonnss ddoouubbllee aattooff (( cchhaarr ** ssttrr )) iinntt aattooii ((cchhaarr ** ssttrr )) lloonngg aattooll ((cchhaarr ** ssttrr ))
  • 20.
    aattooii (( ))FFuunnccttiioonn cchhaarr ssttrr [[ ]] ;; iinntt aaggee ;; aaggee == aattooii (( ssttrr )) ;;
  • 21.
    aattooff (( ))FFuunnccttiioonn 1122..8899
  • 22.
    aattooff (( ))FFuunnccttiioonn cchhaarr ssttrr [[ ]] ;; ddoouubbllee ddVVaarr ;; ddVVaarr == aattooff (( ssttrr )) ;;
  • 23.
    iinntt mmaaiinn ((iinnttaaggrrcc,, cchhaarr ****aaggrrvv )) ‘‘aarrggcc’’ ssttaannddss ffoorr aa ccoouunntt ooff tthhee nnuummbbeerr ooff aarrgguummeennttss ‘‘aarrggvv’’ ssttaannddss ffoorr aa vveeccttoorr ooff aarrgguummeennttss
  • 24.
  • 25.
    String Manipulation Functions Function prototype Function de scription char *strcpy( char *s1, const char *s2 ) Copies string s2 into array s1. The value of s1 is returned. char *strncpy( char *s1, const char *s2, size_t n) Copies at most n characters of string s2 into array s1. The value of s1 is returned. int strcmp( const char *s1, const char *s2 ); Compares string s1 to s2 Returns a negative number if s1 < s2, zero if s1 == s2 or a positive number if s1 > s2 int strncmp( const char *s1, const char *s2, size_t n ); Compares up to n characters of string s1 to s2 Returns values as above char *strcat( char *s1, const char *s2 ) Appends string s2 to array s1. The first character of s2 overwrites the terminating null character of s1. The value of s1 is returned. char *strncat( char *s1, const char *s2, size_t n ) Appends at most n characters of string s2 to array s1. The first character of s2 overwrites the terminating null character of s1. The value of s1 is returned.
  • 26.
    iinntt ssuumm ;; iinntt ssuumm__eevveenn ;; iinntt ssuumm__oodddd ;; mmyySSttrrccppyy (( )) ;;
  • 27.
    SSttrriinngg MMaanniippuullaattiioonn FFuunnccttiioonnss cchhaarr ** ssttrrccppyy ((cchhaarr **ss11 ,, ccoonnsstt cchhaarr **ss22 )) ;; cchhaarr ** ssttrrnnccppyy (( cchhaarr **ss11 ,, cchhaarr **ss22 ,, iinntt nn )) ;; cchhaarr ** ssttrrccaatt ((cchhaarr **ss11 ,, cchhaarr **ss22 )) ;; cchhaarr ** ssttrrnnccaatt (( cchhaarr **ss11 ,, cchhaarr **ss22 ,, iinntt nn )) ;;
  • 28.
    ssttrrccmmpp (( )) FFuunnccttiioonn iinntt ssttrrccmmpp ((ccoonnsstt cchhaarr **ss11 ,, ccoonnsstt cchhaarr **ss22 )) ;;
  • 29.
    ssttrrnnccmmpp (( ))FFuunnccttiioonn iinntt ssttrrnnccmmpp (( ccoonnsstt cchhaarr **ss11 ,, ccoonnsstt cchhaarr **ss22 ,, iinntt nn )) ;;
  • 30.
    ssttrrlleenn (( ))FFuunnccttiioonn iinntt ssttrrlleenn (( ccoonnsstt cchhaarr **ss )) ;;
  • 31.
  • 32.
    SSeeaarrcchh FFuunnccttiioonnss Functionproto type Function description char *strchr( const char *s, int c ); Locates the first occurrence of character c in string s. If c is found, a pointer to c in s is returned. Otherwise, a NULL pointer is returned. size_t strcspn( const char *s1, const char *s2 ); Determines and returns the length of the initial segment of strings 1 consisting of characters not contained in string s2. size_t strspn( const char *s1, const char *s2 ); Determines and returns the length of the initial segment of string s1 consisting only of characters contained in string s2. char *strpbrk( const char *s1, const char *s2 ); Locates the first occurrence in string s1 of any character in string s2. If a character from string s2 is found, a pointer to the character in string s1 is returned. Other-wise, a NULL pointer is returned. char *strrchr( const char *s, int c ); Locates the last occurrence of c in string s. If c is found, a pointer to c in string s is returned. Otherwise, a NULL pointer is returned. char *strstr( const char *s1, const char *s2 ); Locates the first occurrence in string s1 of string s2. If the string is found, a pointer to the string in s1 is returned. Otherwise, a NULL pointer is returned. char *strtok( char *s1, const char *s2 ); A sequence of calls to strtok breaks string s1 into “tokens”—logical pieces such as words in a line of text—separated by characters contained in string s2. The first call contains s1 as the first argument, and subsequent calls to continue tokenizing the same string contain NULL as the first argument. A pointer to the current token is returned by each call. If there are no more tokens when the function is calledN, ULL is returned.
  • 33.
    TThhiiss iiss aatteesstt ““ ““ wwrroonngg ‘‘ ‘‘ rriigghhtt NNUULLLL