Онлайн всего: 1
Гостей: 1
Пользователей: 0
Гости сайта Пользователи
Пользователи отсутствуют...


» Зарег. на сайте
Всего: 136
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
» Из них
Админы сайта: 2
Модераторов: 0
Проверенных: 15
Обычных юзеров: 119
» Из них
Парней: 127
Девушек: 8

Сегодня сайт посетили: 
Главная | Регистрация | Вход
Главная » Статьи » Программирование » Всяченка

C/C++. Динамическая строка
Что делать, если неизвестно сколько символов потребуется завести под строку?
Код C:

#include <stdio.h>
#include <stdlib.h>
int main()
{                
     long sLen = 0; //Длина строки
     //Начальное выделение памяти всего под один символ
     char ch, * str = (char *)malloc(sizeof(char));
     printf("Введите строчку: ");
     while((ch = getchar()) != '\n')
     {
          str[sLen] = ch;
          str = (char *)realloc(str,(1+(sLen++))*sizeof(char));
     }
     str[sLen] = '\0';
     printf("Введенная строчка: %s\n",str);
     system("pause");
     return 0;
}

Демонстрация:

У способа есть недостатки (подсказка: связано с памятью).


Категория: Всяченка | Добавил: DrAgO (23.01.2013) | Автор: Drago
Просмотров: 4698 | Теги: C/C++, программирование, String, строки, динамическая строка | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Реклама
Реклама
Реклама
Реклама




Приветствую тебя : Гость!


Гость, мы приветствуем вас. Пожалуйста зарегистрируйтесь или авторизуйтесь!
 





статистика
stat24 -счетчик посещаемости сайта

Яндекс цитирования
Хостинг от uCoz