Мета:
Здобути навики використання середовища розробки мови C++, познайомитися з обробкою рядків, здобути навички написання програм.
Короткі теоретичні відомості до роботи.
Функції обробки рядків розміщені у заготовочному файлі вбудованої бібліотеки string.h. Розглянемо деякі функції, які найбільш застосовані, у наступній програмі.
//файл PART3\3_11.ccp
// обробка рядків
#include “c:\CPP\SUBPROG\\roll.h”
#include “c:\CPP\SUBPROG\\roll_txt.h”
typedef char STRING;
typedef char *STRING; //ввід псевдоніму для типу char і char *
main () { clrscr();
cout<<” ВХІДНІ РЯДКИ: “;
STRING text[] =
“Шалтай-Болтай сидел на стене”,;
cout << ’\n’<<text;
STRING textP[] =
{“Humpty Dumpty sat on a wall,};
cout << ’\n’<<*textP<<end1;
STRING string[30]; //додатковий рядок-адреси
unsigned k=strlen(text);
cout<<”\nдовжина рядка text без нульового символу=”<<k;
cout<<”\nдовжина рядка textP без нульового символу=”
<< strlen(*textP)<<end1;
strcpy(string, text); cout<<’\n’<< string<<end1;
cout<<”копіювання повного рядка text у string”;
strcpy(string, *textP); cout<<”\n\n”<< string<<end1;
cout<<”копіювання повного рядка textP у string”;
strcpy(string, text, 9); cout<<”\n\n”<< string<<end1;
cout<<”копіювання у string 9 знаків із text”
<<”поверх старого запису”;
string[9]= ‘\0’; cout<<’\n’<< string<<end1;
cout<<”нульовий символ відрізує кінець рядка”<<end1;
cout<< ‘\n’<<strncat (string, text, 6)<<end1;
cout<<”додавання 6 знаків у string із text”<<end1;
pause(9);
cout<<”\nрозбиття рядка text на лексеми”;
cout<<”\nрозділовий знак-пробіл”<<end1;
STRINGP lexP=strtok(text, “ “); //перший виклик
while(lexP!=NULL) {cout<< lexP<<end1;
lexP= strtok(NULL, “ “);};
cout<<”\nрозбиття рядка textP на лексеми”;
STRINGP markP[]={“t”};
lexP=strtok(*textP, * markP); //перший виклик
while(lexP!=NULL) {cout<< lexP<<end1;
lexP= strtok(NULL, *markP);};
cout<<”\n\nпісля розбиття на лексеми text і textP:”
<<end1<< text<<end1<< textP<<end1
<<”\n ***** кінець задачі *****”;
Pause(0); return 0;}