Engr 0012 04 1 Lec Notes 24 01
- Slides: 8
Engr 0012 (04 -1) Lec. Notes 24 -01
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| |? |? | 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 ); 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); "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 ); 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 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 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