С \ С++ strtok

программирование C++ С++ с++

Здравствуйте. Нужно написать свою реализацию strtok. Не знаю как выдернуть из строки подстроку. У меня есть начало слова и его длинна. Как мне выдернуть такое слово из строки и вернуть указатель на эту подстроку (что бы она заканчивалась \0 ) ?

Кстати нельзя использовать функции и библиотеки. Все в ручную нужно.

Суть задачи: Есть начало слова и его длинна. Как выдернуть его из строки что бы не повредить входную строку и в результате получить слово с \0 в конце?

Примечание:
Именно так и сделал, не знаю к счатью или к сожалению, но сам допер до этой мысли немного раньше чем вы ответили, но все равно спасибо:
http://www.cyberforum.ru/cpp-beginners/thread936234.html
Ответы:
Самое очевидное и банальное решение, которое вам можно предложить — возвращать указатель не на начало подстроки, относящейся к исходной строке, а выделять внутри вашей реализации strtok память под заданный отрезок, заполнять его заданной подстрокой и возвращать на эту область указатель. Но, как вы, надеюсь, сами понимаете, это «грязно» (по отношению к памяти) и не эффективно (частые выделения/освобождения памяти).


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.