Інформатика
Обробка символьних даних : Функції введення-виведення символьних даних
 

Функції введення-виведення символьних даних

     При роботі з окремими символамі користуються функціями:

char c;

введення:

с=getс();

с=getchar();

scanf("%c",&c);

cin>>c;

виведення:

рut(c);

putchar(c);

printf("%c",c);

cout<<c;.

     Під час роботи з першими трьома функціями в кожному розділі треба підключати файл stdio.h, для cin i cout файл iostream.h.

     Прочитати рядок із стандартного потоку введення можна за допомогою функції

gets(). Вона отримує рядок із стандартного потоку введення. Функція читає символи до тих пір, поки їй не зустрінеться символ нового рядка '\n', який генерується натисканням клавіші ENTER. Функція зчитує всі символи до символу нового рядка, додаючи до них нульовий символ '\0'.
Синтаксис :
char *gets(char *buffer);

Як відомо, для читання рядків із стандартного потоку введення можна використовувати також функцію scanf() з форматом %s. Основна відмінність між scanf() і gets() полягає у способі визначенні досягнення кінця рядка; функція scanf() призначена скоріше для читання слова, а не рядка. Функція scanf() має два варіанти використання. Для кожного з них рядок починається з першого не порожнього символу. Якщо використовувати %s, то рядок продовжується до (але не включаючи) наступного порожнього символу (пробіл, табуляція або новий рядок). Якщо визначити розмір поля як %10s, то функція scanf() не прочитає більше 10 символів або ж прочитає послідовність символів до будь-якого першого порожнього символу.
     Під час використання cin для введення рядків треба пом'ятати, що

char s[80];

cin>>s;

в s запишеться перше слово.

За допомогою

cin.getline(s,80);

можна прочитати рядок завдовжки не більше 80 символів, але цей рядок може складаться з декількох слів.

     Тепер розглянемо функції виведення рядків. Для виведення рядків можна використовувати функції puts() і printf().
Синтаксис функції puts():
int puts(char *string);
     Ця функція виводить всі символи рядка string у стандартний потік виведення. Виведення завершується переходом на наступний рядок.
     Різниця між функціями puts() і printf() полягає в тому, що функція printf() не виводить автоматично кожний рядок з нового рядка.

printf("%s",s);.

Виведення рядкових даних реалізується з використанням стандартного вихідного потоку cout:

cout << s; .

 
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.ua
Розроблено за допомогою LERSUS