| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Динамический массив |
| Автор: SAndrus 31.8.2005, 07:45 |
| В общем вопрос экономии ресурсов и времени. хотелось, чтобы массив создаваемый при нахождении разделителя в строке его позиция добавлялась в массив, а не проходить эту строку несколько раз. Не хотелось бы писать класс, как это делается знаю. |
| Автор: Mayk 31.8.2005, 08:02 |
| Если я правильно понял вопрос(а я его вообще не понял), strtok тебе исходную строку на куски порежет и не будет проходить по одному и тому же участку строки несколько раз. |
| Автор: SAndrus 31.8.2005, 08:50 |
| На примере: Есть CString "*.doc;*.rtf" нужно преобразовать в две строки по символу ; Конечно строк может быть и больше, поэтому хотелось, чтобы создавался массив строк Функцию gettok не понял и ей нужен *char, а CString преобразовывает в const * char. Нудно |
| Автор: Orlan 31.8.2005, 09:46 | ||||||
Так надо сохранять позицию в std::vector<int>, например.
Вместо list возможно будет лучше использовать std::vector<T> |
| Автор: SAndrus 31.8.2005, 09:58 |
| Понял, все уже изобретено. Где можно найти информацию по объектам типа std и list |
| Автор: Orlan 31.8.2005, 10:06 |
| Это STL (Standard Template Library, стандартная библиотека шаблонов) std - названия пространства имен list, vector - контейнеры http://rsdn.ru/article/cpp/stl.xml http://rsdn.ru/article/cpp/stl/sampl.xml Советую все таки купить книжку по STL, а не просто почитать статьи в инете. |
| Автор: SAndrus 31.8.2005, 10:34 |
| Спасибо Почитаю если будет интересно но мало обязательно куплю книгу. |
| Автор: Eugene82 13.10.2005, 17:45 | ||
| Ребята, а можно более подробнее описать как использовать приведённую здесь функцию split()? Я хочу использовать свойство Mask объекта FilterComboBox для передачи списка масок/расширений в свою функцию поиска файлов по маске. Список естественно надо предварительно порезать. Я совсем недавно начал изучать Builder, подскажите объявление функции split() должно находиться где-то в начале файла cpp или её можно объявлять непосредственно перед вызовом в обработчике событий? Ещё. Вызов в моём случае должен выглядеть так?
|
| Автор: Eugene82 17.10.2005, 19:21 | ||||||
|
| Автор: DeadSoul 17.10.2005, 20:11 | ||
крайне плохая книга. Джосьютис "С++ Стандартная библиотека" - эта книга на 5+ |