3. Введення рядків

Введення рядків:

scanf(“%s”, &str1);

Використання функції scanf  () для введення рядка - працює, але це може призвести до переповнення буфера. Адже вхідний рядок може виявитися більше, ніж розмір рядка-буфера

Виведення рядків:

printnf(“%s”, str1);

#include <stdio.h>

#include <conio.h>

int main()

{   int i;

  char myString[100];

  printf( "input: " );

  scanf("%s",&myString);

  printf( "output: %s", myString );

  getch();

  return 0;

}




Для обробки символьних типів даних бібліотека функцій string.h має велику кількість вбудованих функцій, що збіль­шують продуктивність праці програмістів та скорочують час на розробку програм

Функція gets()  дозволяє читати рядок з  клавіатури

Функція gets() читає рядок символів, введених з клавіатури і поміщає їх за адресою, вказаною в аргументі. Можна набирати символи, поки не буде натиснуто Enter. Символ, що відповідає клавіші Enter - повернення каретки, - не стане частиною рядка. Замість цього в кінці рядка з'явиться нульовий символ, і gets() закінчить роботу.

Якщо при введенні допущені помилки, то вони можуть бути виправлені натисканням на клавішу BACKSPASE перед натисканням введення.



Функція gets() має прототип:

char *gets(char *str);

де str - це масив символів. Функція gets() повертає покажчик на str.

#include <stdio.h>

#include <string.h>

int main()

{

char str[80];

printf("input string\n");

gets(str);

printf("Output string\n%s", str);

getch();

return 0;

}




Є проблема, пов'язана з gets() , про яку слід знати:  використовуючи gets() , можна перейти межі масиву, з яким вона викликалася.

Це можливо, оскільки не існує способу вказати gets() , де знаходиться межа масиву. Наприклад, якщо викликати gets() з масивом довжиною в 40 байт, а потім ввести 40 або більше символів, то станеться вихід за межі масиву.



Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання

Вирівнювання тексту Вирівнювання тексту

Ширина абзацу Ширина абзацу

0