Engr 0012 04 1 Lec Notes 24 01

  • Slides: 8
Download presentation
Engr 0012 (04 -1) Lec. Notes 24 -01

Engr 0012 (04 -1) Lec. Notes 24 -01

strings are an array of type char string declaration // include libraries #include<string. h>

strings are an array of type char string declaration // include libraries #include<string. h> include string library // defined constants #define MAXSTRING used defined constant for max length + 1 main() { // begin main // variable declaration char string 1[ ] = "A string"; char string 2[5]; char string 3[MAXSTRING]; int numchar, order; memory “map” NULL |A| |s|t|r|i|n|g| | |? |? |? |? | Engr 0012 (04 -1) Lec. Notes 24 -02 11

strings string initialization “hardwire” at declaration |A| |s|t|r|i|n|g| | use strcpy function |h|i| |?

strings string initialization “hardwire” at declaration |A| |s|t|r|i|n|g| | use strcpy function |h|i| |? |? | get it from the keyboard best - read until return |H|i| |t|h|e|r|e|!| |? | not as good |H|i| |? |? | Engr 0012 (04 -1) Lec. Notes 24 -03 // include libraries #include<string. h> // defined constants #define MAXSTRING 11 main() { // begin main // variable declaration char string 1[ ] = "A string"; char string 2[5]; char string 3[MAXSTRING]; int numchar, order; // string initialization strcpy(string 2, "hi"); // string initialization printf("n. Enter a string n==> "); fflush(stdin); scanf("%[^n]", string 3); // string initialization printf("n. Enter a string n==> "); fflush(stdin); scanf(" %s", string 3);

strings string display // displaying strings printf( "nnstring 1 = %s", string 1 );

strings string display // displaying strings printf( "nnstring 1 = %s", string 1 ); printf( "nnstring 2 = %s", string 2 ); printf( "nnstring 3 = %s", string 3 ); string placeholder is %s string 1 = A string 2 = hi string 3 = Hi there! Engr 0012 (04 -1) Lec. Notes 24 -04

strings copying strings - strcpy // copying strcpy( printf( strings string 3, string 1);

strings copying strings - strcpy // copying strcpy( printf( strings string 3, string 1); "nnstring 1 = %s", string 2 ); "nnstring 3 = %s", string 3 ); copies contents of second argument into first argument ==> copies string 1 into string 3 string 1 before |A| |s|t|r|i|n|g| | string 3 before |H|i| |t|h|e|r|e|!| |? | string 3 after |A| |s|t|r|i|n|g| | |? | display string 1 = A string 3 = A string Engr 0012 (04 -1) Lec. Notes 24 -05

strings string length - strlen // string length numchar = strlen( string 3 );

strings string length - strlen // string length numchar = strlen( string 3 ); printf("nnnum char in "%s" : %d", string 3, numchar ); strlen counts characters until NULL is reached string 3 display Engr 0012 (04 -1) Lec. Notes 24 -06 |A| |s|t|r|i|n|g| | |? | num char in "A string" : 8

strings comparing strings - strcmp // compare strings order = strcmp( string 1, string

strings comparing strings - strcmp // compare strings order = strcmp( string 1, string 2); if ( order < 0 ) { printf( "nn%s before %s", string 1, string 2 ); } else if ( order == 0 ) { printf( "nn%s equals %s", string 1, string 2 ); } else { printf( "nn%s after %s", string 1, string 2 ); } strcmp determines alphabetical order of two strings string 1 |A| |s|t|r|i|n|g| | string 2 |h|i| |? |? | display Engr 0012 (04 -1) Lec. Notes 24 -07 A string before hi

strings parameters in function calls strings are an array of type char parameter useage

strings parameters in function calls strings are an array of type char parameter useage follows same rules as any array // prototypes void getstring( char string[] ); formal parameter requires type (char), name, and [ ] to designate array main() { … getstring( string 3 ); actual parameter requires local name Engr 0012 (04 -1) Lec. Notes 24 -08