SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Multiword Strings 
String 
Terminator 
char str1[ ] = { ’S’, ’a’, ’n’, ’j’, ’a’, ’y’, } ; 
char str2[ ] = ”Sanjay” ; 
char str3[ 15 ] ; 
printf ( ”%d%d”, sizeof ( str1 ), sizeof ( str2 ) ) ; 
printf ( ”Enter name & surname” ) ; 
scanf ( ”%s”, str3 ) ; 
printf ( ”%s”, str3 ) ; 
printf ( ”Enter name & surname” ) ; 
printf ( ”%s”, str3 ) ; 
gets ( str3 ) ; 
} 
’0’ 7 7 
Rahul Sood 
Rahul 
Rahul Sood 
main( ) 
{ 
Rahul Sood 
puts ( str3 ) ; 
Different 
3 
3.0 
’3’ 
”3” 
0 Assumed
Which Is Better? 
main( ) 
{ 
char str1[ ] = ”Amol” ; 
char str2[ ] = ”Sanjay” ; 
char str3[ ] = ”Rahul” ; 
printf ( ”%s%s%s”, str1, str2, str3 ) ; 
puts ( str1 ) ; 
puts ( str2 ) ; 
puts ( str3 ) ; 
scanf ( ”%s%s%s”, str1, str2, str3 ) ; 
gets ( str1 ) ; 
gets ( str2 ) ; 
gets ( str3 ) ; 
}
char str [ ] = ”Sanjay” ; 
char *p ; 
p = str ; 
while ( ) 
{ 
printf ( ”%c”, *p ) ; 
p++ ; 
} 
} 
*p != ’0’ 
S a n j a y 0 
401 2 3 4 5 
p p++ 402 
401 
p 
p p 
str[ ] 
7 
6 
Think Differently 
main( ) 
{ 
p
} 
Hello 
printf ( ”Hello” ) ; 
printf ( 2 + 3 % 2 + ”Mechanical” ) ; 
hanical 
Output ? 
main( ) 
{ 
printf ( char *p, … ) 
{ 
while ( *p != ’0’ 
) 
{ 
.. 
p++ ; 
} 
} 
printf ( printf ( ””nnssii == RRss.. %%ff””,, ssii )) ;;
main( ) 
{ 
char str1[ ] = ”Nagpur” ; 
char str2[ ] = ”Ahmedabad” ; 
int l3 ; 
sl1tr =le xsnst rt(lr eslentrn(1 s( ) ts r;t1r 1) ;) ; 
int l1 ; 
l2 = xstrlen ( str2 ) ; 
while ( *p != ’0’ ) 
} 
p 
N a g p u r 0 
401 2 3 4 5 7 
6 9 
xstrlen ( c h a r * p ) 
6 
{ 
int count = 0 ; 
{ 
} 
count ++ ; } 
p 
p++ ; 
return ( count ) ; 
6 
401 
int l2 ; 
printf ( ”%d%d”, l1, l2 ) ; 
l3 = xstrlen ( ”Baroda” ) ; 
printf ( ”%d”, l3 ) ;
Copying Strings 
main( ) 
{ 
char str1[ ] = ”Nagpur” ; 
char str2[ 10 ] ; 
char str3[ 20 ] ; 
str2 = str1 ; 
strcpy ( str2, str1 ) ; 
N 
s 
a g p u r 
printf ( ”%s”, str2 ) ; 
xstrcpy ( str3, ”Bombay” ) ; 
while ( *s != ’0’ ) 
}x 
strcpy ( char *t, char *s ) 
Bombay 
{ 
{ 
} 
} 
printf ( ”%s”, str3 ) ; 
*t = *s ; 
N a g p u r 0 
t 
Nagpur 
xstrcpy ( str2, str1 ) ; 
t++ ; 
s++ ; 
*t = ’0’ ;
More Ways... 
xstrcpy ( char *t, char *s ) 
{ 
while ( *s != ’0’ ) 
t++ ; 
s++ ; 
*t = ’0’ ; 
} 
{ 
*t = *s ; 
} 
xstrcpy ( char *t, char *s ) 
{ 
while ( *s ) 
*t++ = *s++ ; 
*t = ’0’ ; 
} 
xstrcpy ( char *t, char *s ) 
{ 
while ( *t++ = *s++ ) 
} 
N a g p u r 0 
; 
s s 
t t 
N a g p u r 0 
*t = *s 
while ( *t ) 
t++ 
s++ 
wwhhiillee (( ii == 22 ))
Concatenation 
char str1[ ] = ”Nagpur” ; 
char str2[ ] = ”Bombay” ; 
xstrcat ( str1, str2 ) ; 
printf ( ”%s”, str1 ) ; 
} 
xstrcat ( char *t, char *s ) 
{ 
while ( *t ) 
t++ ; 
while ( *s ) 
*t++ = *s++ ; 
*t = ’0’ ; 
} 
NagpurBombay 
t 
t 
N a g p u r 0 
s 
B o m b a y 0 
main( ) 
{ 
20
A Shorter Version... 
xstrcat ( char *t, char *s ) 
{ 
while ( *t ) 
t++ ; 
while ( *s ) 
*t++ = *s++ ; 
*t = ’0’ ; 
} 
t = t + strlen ( t ) ; 
t t 
N a g p u r 0 
s 
B o m b a y 0 
strcpy ( t, s ) ;
main( ) Concatenation 
{ 
char str1[ ] = ”Kanpur” ; 
char str2[ ] = ”Raipur” ; 
char str3[30] ; 
strcpy ( str3, str1 ) ; 
strcat ( str3, str2 ) ; 
printf ( ”%s”, str3 ) ; 
} 
KanpurRaipur 
strcpy ( str3, str1 ) ; 
strcpy ( str3 + strlen ( str3 ), str2 ) ; 
str3[0] = ’0’ ; 
xstrcat ( str3, str1 ) ; 
xstrcat ( str3, str2 ) ; 
strcpy ( str3, str1 ) ; 
strcpy ( str3 + strlen ( str3 ), str2 ) ; 
str3[0] = ’0’ ; 
xstrcat ( str3, str1 ) ; 
xstrcat ( str3, str2 ) ; 
Using only 
strcpy( ) 
Using only 
strcat( )
Convert To Uppercase 
main( ) 
{ 
char str[ ] = ”Nagpur” ; 
xstrupr ( str ) ; 
printf ( ”%s”, str ) ; 
} 
xstrupr ( c h a r * p ) 
{ 
while ( *p ) 
{ 
} 
} 
if ( *p >= ’a’ && *p <= ’z’ ) 
*p = *p - 32 ; 
p++ ; 
NAGPUR
What’s The Difference? 
strupr( ) 
strlwr( ) 
toupper( ) 
tolower( ) 
Works on 
Strings 
Works on 
Chars 
Can use 
tolower( ) 
& toupper( )
228822 -- 228866((dd))

Weitere ähnliche Inhalte

Andere mochten auch (9)

C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDYC LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
 
ELEMENTARY DATASTRUCTURES
ELEMENTARY DATASTRUCTURESELEMENTARY DATASTRUCTURES
ELEMENTARY DATASTRUCTURES
 
DATA STRUCTURES AND ALGORITHMS UNIT-3 TREES PREPARED BY M V BRAHMANANDA REDDY
DATA STRUCTURES AND ALGORITHMS UNIT-3 TREES PREPARED BY M V BRAHMANANDA REDDYDATA STRUCTURES AND ALGORITHMS UNIT-3 TREES PREPARED BY M V BRAHMANANDA REDDY
DATA STRUCTURES AND ALGORITHMS UNIT-3 TREES PREPARED BY M V BRAHMANANDA REDDY
 
C language unit-1
C language unit-1C language unit-1
C language unit-1
 
Vcs19
Vcs19Vcs19
Vcs19
 
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
C notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit orderC notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit order
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
 
AVL TREE PREPARED BY M V BRAHMANANDA REDDY
AVL TREE PREPARED BY M V BRAHMANANDA REDDYAVL TREE PREPARED BY M V BRAHMANANDA REDDY
AVL TREE PREPARED BY M V BRAHMANANDA REDDY
 
C LANGUAGE NOTES
C LANGUAGE NOTESC LANGUAGE NOTES
C LANGUAGE NOTES
 
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada ReddyDatastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
 

Mehr von Malikireddy Bramhananda Reddy (15)

M v bramhananda reddy dsa complete notes
M v bramhananda reddy dsa complete notesM v bramhananda reddy dsa complete notes
M v bramhananda reddy dsa complete notes
 
B-TREE PREPARED BY M V BRAHMANANDA REDDY
B-TREE PREPARED BY M V BRAHMANANDA REDDYB-TREE PREPARED BY M V BRAHMANANDA REDDY
B-TREE PREPARED BY M V BRAHMANANDA REDDY
 
DATASTRUCTURES UNIT-1
DATASTRUCTURES UNIT-1DATASTRUCTURES UNIT-1
DATASTRUCTURES UNIT-1
 
Data representation UNIT-1
Data representation UNIT-1Data representation UNIT-1
Data representation UNIT-1
 
C SLIDES PREPARED BY M V B REDDY
C SLIDES PREPARED BY  M V B REDDYC SLIDES PREPARED BY  M V B REDDY
C SLIDES PREPARED BY M V B REDDY
 
C AND DATASTRUCTURES PREPARED BY M V B REDDY
C AND DATASTRUCTURES PREPARED BY M V B REDDYC AND DATASTRUCTURES PREPARED BY M V B REDDY
C AND DATASTRUCTURES PREPARED BY M V B REDDY
 
C PROGRAMS
C PROGRAMSC PROGRAMS
C PROGRAMS
 
Vcs29
Vcs29Vcs29
Vcs29
 
Vcs26
Vcs26Vcs26
Vcs26
 
Vcs23
Vcs23Vcs23
Vcs23
 
Vcs22
Vcs22Vcs22
Vcs22
 
Vcs17
Vcs17Vcs17
Vcs17
 
Vcs15
Vcs15Vcs15
Vcs15
 
Vcs12
Vcs12Vcs12
Vcs12
 
Vcs8
Vcs8Vcs8
Vcs8
 

Vcs20

  • 1. Multiword Strings String Terminator char str1[ ] = { ’S’, ’a’, ’n’, ’j’, ’a’, ’y’, } ; char str2[ ] = ”Sanjay” ; char str3[ 15 ] ; printf ( ”%d%d”, sizeof ( str1 ), sizeof ( str2 ) ) ; printf ( ”Enter name & surname” ) ; scanf ( ”%s”, str3 ) ; printf ( ”%s”, str3 ) ; printf ( ”Enter name & surname” ) ; printf ( ”%s”, str3 ) ; gets ( str3 ) ; } ’0’ 7 7 Rahul Sood Rahul Rahul Sood main( ) { Rahul Sood puts ( str3 ) ; Different 3 3.0 ’3’ ”3” 0 Assumed
  • 2. Which Is Better? main( ) { char str1[ ] = ”Amol” ; char str2[ ] = ”Sanjay” ; char str3[ ] = ”Rahul” ; printf ( ”%s%s%s”, str1, str2, str3 ) ; puts ( str1 ) ; puts ( str2 ) ; puts ( str3 ) ; scanf ( ”%s%s%s”, str1, str2, str3 ) ; gets ( str1 ) ; gets ( str2 ) ; gets ( str3 ) ; }
  • 3. char str [ ] = ”Sanjay” ; char *p ; p = str ; while ( ) { printf ( ”%c”, *p ) ; p++ ; } } *p != ’0’ S a n j a y 0 401 2 3 4 5 p p++ 402 401 p p p str[ ] 7 6 Think Differently main( ) { p
  • 4. } Hello printf ( ”Hello” ) ; printf ( 2 + 3 % 2 + ”Mechanical” ) ; hanical Output ? main( ) { printf ( char *p, … ) { while ( *p != ’0’ ) { .. p++ ; } } printf ( printf ( ””nnssii == RRss.. %%ff””,, ssii )) ;;
  • 5. main( ) { char str1[ ] = ”Nagpur” ; char str2[ ] = ”Ahmedabad” ; int l3 ; sl1tr =le xsnst rt(lr eslentrn(1 s( ) ts r;t1r 1) ;) ; int l1 ; l2 = xstrlen ( str2 ) ; while ( *p != ’0’ ) } p N a g p u r 0 401 2 3 4 5 7 6 9 xstrlen ( c h a r * p ) 6 { int count = 0 ; { } count ++ ; } p p++ ; return ( count ) ; 6 401 int l2 ; printf ( ”%d%d”, l1, l2 ) ; l3 = xstrlen ( ”Baroda” ) ; printf ( ”%d”, l3 ) ;
  • 6. Copying Strings main( ) { char str1[ ] = ”Nagpur” ; char str2[ 10 ] ; char str3[ 20 ] ; str2 = str1 ; strcpy ( str2, str1 ) ; N s a g p u r printf ( ”%s”, str2 ) ; xstrcpy ( str3, ”Bombay” ) ; while ( *s != ’0’ ) }x strcpy ( char *t, char *s ) Bombay { { } } printf ( ”%s”, str3 ) ; *t = *s ; N a g p u r 0 t Nagpur xstrcpy ( str2, str1 ) ; t++ ; s++ ; *t = ’0’ ;
  • 7. More Ways... xstrcpy ( char *t, char *s ) { while ( *s != ’0’ ) t++ ; s++ ; *t = ’0’ ; } { *t = *s ; } xstrcpy ( char *t, char *s ) { while ( *s ) *t++ = *s++ ; *t = ’0’ ; } xstrcpy ( char *t, char *s ) { while ( *t++ = *s++ ) } N a g p u r 0 ; s s t t N a g p u r 0 *t = *s while ( *t ) t++ s++ wwhhiillee (( ii == 22 ))
  • 8. Concatenation char str1[ ] = ”Nagpur” ; char str2[ ] = ”Bombay” ; xstrcat ( str1, str2 ) ; printf ( ”%s”, str1 ) ; } xstrcat ( char *t, char *s ) { while ( *t ) t++ ; while ( *s ) *t++ = *s++ ; *t = ’0’ ; } NagpurBombay t t N a g p u r 0 s B o m b a y 0 main( ) { 20
  • 9. A Shorter Version... xstrcat ( char *t, char *s ) { while ( *t ) t++ ; while ( *s ) *t++ = *s++ ; *t = ’0’ ; } t = t + strlen ( t ) ; t t N a g p u r 0 s B o m b a y 0 strcpy ( t, s ) ;
  • 10. main( ) Concatenation { char str1[ ] = ”Kanpur” ; char str2[ ] = ”Raipur” ; char str3[30] ; strcpy ( str3, str1 ) ; strcat ( str3, str2 ) ; printf ( ”%s”, str3 ) ; } KanpurRaipur strcpy ( str3, str1 ) ; strcpy ( str3 + strlen ( str3 ), str2 ) ; str3[0] = ’0’ ; xstrcat ( str3, str1 ) ; xstrcat ( str3, str2 ) ; strcpy ( str3, str1 ) ; strcpy ( str3 + strlen ( str3 ), str2 ) ; str3[0] = ’0’ ; xstrcat ( str3, str1 ) ; xstrcat ( str3, str2 ) ; Using only strcpy( ) Using only strcat( )
  • 11. Convert To Uppercase main( ) { char str[ ] = ”Nagpur” ; xstrupr ( str ) ; printf ( ”%s”, str ) ; } xstrupr ( c h a r * p ) { while ( *p ) { } } if ( *p >= ’a’ && *p <= ’z’ ) *p = *p - 32 ; p++ ; NAGPUR
  • 12. What’s The Difference? strupr( ) strlwr( ) toupper( ) tolower( ) Works on Strings Works on Chars Can use tolower( ) & toupper( )