Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Символьные массивы


getline добавляет символ '\ 0' (нулевой символ, чье ASCII-значение равно нулю) наконец созданного ею массива, для обозначения конца символьного цепочки. Этo преобразования так же применяется в C. Когда цепную стала вроде
"Hello \ n"
появляется в C-программе, ее сохранен как символьный массив, содержащий знаки цепочки и заканчивается символом '\ 0', чтобы обозначить конец цепочки.

+-----+-----+-----+-----+-----+------+------+
| H | e | l | l | o | \ n | \ 0 |
+-----+-----+-----+-----+-----+------+------+

Указатель формата% s функции printf ожидает, что соответствующий аргумент будет цепочкой, представлен именно в этой форме. copy также полагается на тот факт, что ее аргумент ввода заканчивается на '\ 0' и копирует этот знак к выводу.

Мимоходом стоит отметить, что даже такая маленькая программа как эта представляет некоторые сложные проблемы разработки. Например, что должна сделать main в случае, когда она встретит строку, больше установлено ограничение? getline действует безопасно, потому что она перестает набирать знаки, когда массив полный, даже если не было знака новой строки. Проверяя длину и последний возвращен знак, main может определить не был строка слишком длинным, после чего обойтись с ним, как ей заблагорассудится. Ради краткости, мы проигнорировали этот вопрос.

Пользователь getline никак не может знать заранее, которым за длинным будет введен строку, поэтому getline проверяет на предмет переполнения. Противовес, пользователь copy уже знает (или может узнать) длину цепочек, поэтому мы решили проверку на ошибки в нее не добавлять.

Другие статьи по теме:

- Функции и структура программ
- Внешние переменные и область действия
- Введение в c++
- Символьные массивы
- Типы, операторы и выражения


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами