Аватар для Red-Cat-Fat
4 / 4 / 4
Регистрация: 11.10.2013
Сообщений: 123

Копирование указателей

10.11.2014, 17:59. Показов 1758. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте дорогие товарищи.
Имеется указатель на char, который читается с клавиатуры следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char* str = (char*)malloc(sizeof(char));
void read()
{
    for (int i = getchar(); i != 10; i = getchar())
    {
        if (used == size)
        {
            str = (char*)realloc(str, sizeof(char) * ++size);
        }
        str[used++] = i;
    }
    str[used] = '\0';
}
Мне нужно, что бы пользователь указывал интервал от какого символа и сколько нужно скопировать. Я делаю это с помощью следующего метода:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char* copy = (char*)malloc(sizeof(char));
void v_copy(int ot, int sk)
{
    copy = (char*)realloc(str, sizeof(char) * (1+sk));
    int j = 0;
    for(int i = ot-1; i<ot+sk; i++)
    {
        copy[j] = str[i];
        j++;
    }
    copy[sk] = '\0';
    printf("\n");
    printf("Recorded in the clipboard: %s", copy);
}
Однако при вводе строки 0123456789 то при укзании пользователя копировать с 1 по 5 символ по порядку (v_copy(0,5); )копируется только 12345, хотя должно было 01234.
Я только новичок в работе с указателями, а потому не могу понять причину проблемы. Подскажите пожалуйста, как мне решить эту проблему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2014, 17:59
Ответы с готовыми решениями:

Копирование списка указателей на виртуальный класс
Добрый день! Подскажите, пожалуйста. Имею примерно такой код class Abstract { public: int mAbs;

Почему в сортировке указателей на объекты в вызове функции используются адреса объектов, а не указателей?
Доброго времени суток! Рассматриваю пример (из Лафоре) сортировки массива указателей на объекты, для чего используются указатели на...

Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей. Вернуть адрес...

2
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
10.11.2014, 18:06
Почему у тебя realloc(str..., если ты с copy работаешь? В цикле зачем ot -1, если с нуля индексируешь?
И вообще это велосипед. Есть strcpy() и т. п., пользуйся.
1
 Аватар для Red-Cat-Fat
4 / 4 / 4
Регистрация: 11.10.2013
Сообщений: 123
10.11.2014, 18:12  [ТС]
nmcf, спасибо большое. Не заметил. Просто
C++
1
copy = (char*)realloc(str, sizeof(char) * (1+sk));
я изначально копировал из
C++
1
str = (char*)realloc(str, sizeof(char) * ++size);
Проблема решена
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2014, 18:12
Помогаю со студенческими работами здесь

Объяснить различия в работе указателей на целое число и указателей на const char (строки в стиле Си)
Уважаемые программисты, возникло несколько вопросов касательно указателей. Почему при выводе указателя на int нужна звёздочка (*), а...

Создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей
Нужно создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей. Эта специализация...

Как обойтись без указателей и указателей на указатель?
Ибо не совсем выходит понять,что на что тут указывает #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using...

Различия указателей char* от указателей других типов
Помогите пожалуйста разобраться! Прочитал раздел про указатели и даже вроде бы понял. Что касается указателей на тип int. Но что...

Создание массивов указателей на массивы указателей
Помогите в решении задачи: создал массив указателей на массивы указателей на строки, но компилятор ругается на то что не может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
Kubernetes с Apache Flink для обработки данных в реальном времени
Mr. Docker 17.05.2025
Kubernetes — это целая философия управления распределёнными приложениями. В отличие от "примитивных" решений вроде Docker Swarm, K8s (как его ласково называют в тусовке DevOps-инженеров) предлагает. . .
Использование декораторов в Python
py-thonny 17.05.2025
Если вы когда-нибудь задумывались о том, как красиво расширить функциональность кода без лишней возни и дублирования, декораторы в Python — та самая волшебная палочка, которую вы искали. По сути, это. . .
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru