Форум программистов, компьютерный форум CyberForum.ru

Самописная Extract strings - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Инициализировать переменную ее максимально допустимым значением http://www.cyberforum.ru/cpp-beginners/thread446296.html
Максимальное значение для unsigned int = 65535, а нельзя инициализировать переменную заданного типа максимальным значением? Например, unsigned int x = max_amount, после этого x = 65535.
C++ Проверка на правильность ввода значения. Вот пишу так называемую "проверку на дурака". Столкнулся с проблемой, код: { double ch; int y=0; do{ y=1; int q=0; int q1=0; int q2=0; int i; http://www.cyberforum.ru/cpp-beginners/thread446295.html
C++ Поиск задачника
Может кто подсказать, хорошую книгу с задачником сразу ? Читаешь и в конце выполняешь задания к данной главе.
Создание ресурсов в VS 6.0 C++
Не могу разобраться с созданием ресурсов в VS 6.0, не с синтаксисом файлов ресурсов, а с интерфейсом VS. Вот выбрал я добавить новый файл, выбрал в списке resource script и ввёл имя menudemo. Получил в проекте файл menudemo.rc. Ну и как в анекдоте "и что это нам дало?". Как мне создать теперь меню в автоматическом режиме (есть ли такой вообще?) или как начать редактирование кода? Я до этого...
C++ Задача на minmax http://www.cyberforum.ru/cpp-beginners/thread446284.html
Дано целое число N и набор из N целых чисел. Найти номер по- следнего экстремального (то есть минимального или максимального) эле- мента из данного набора.
C++ В файловой системе каталог файлов организован в виде линейного списка... Если кому будет не сложно.. даже хоть какие-то советы по решению.. буду весьма благодарен... В файловой системе каталог файлов организован в виде линейного списка Для каждого файла в каталоге содержатся следующие сведения: * имя файла * дата создания * количество обращений к файлу подробнее

Показать сообщение отдельно
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
03.03.2012, 21:10     Самописная Extract strings
память, "выделенная" под автоматическую переменную, "удаляется" при выходе из области видимости переменной.

Добавлено через 1 минуту
чтобы вернуть ее из ф-ии придется выделять динамическую память из кучи

Добавлено через 41 секунду
что-то в этом роде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// возвращает новую строку, являющуюся подстрокой
// [buf[pos1]; buf[pos2]). не забудьте потом удалить
// ее с помощью delete[].
char* ExtractString(int pos1,int pos2,char* buff)
{
    int sublen = pos2 - pos1;
    if(sublen <= 0)
        return 0;
    int len = strlen(&buff[pos1]);
    sublen = len < sublen ? len : sublen;
    char* ret = new char[sublen+1];
    strncpy(ret, &buff[pos1], sublen);
    ret[sublen] = '\0';
    return ret;
}
Добавлено через 1 минуту
но я бы рекомендовал переделать вашу ф-ю так, чтобы передавать выходной буфер в ф-ю
как-нибудь так
C++
1
2
3
4
5
6
7
8
// копирует n символов из str, начиная с элемента str[pos], в sub
// sub должна иметь достаточный размер (>n) 
char* ExtractString(char* sub, size_t pos, size_t n, const char* str)
{
    strncpy(sub, &str[pos], n);
    sub[n] = '\0';
    return sub;
}
 
Текущее время: 00:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru