совсем простой вопрос: string into vector
От: Аноним  
Дата: 03.10.05 22:42
Оценка:
Здравствуйте!

Уткнулся в проблему, никак не могу понять как что делать.
Перерыл что было под рукой, перерыл местный форум. Нашёл тему string + vector.
То ли туплю, то ли ещё что, но никак не могу понять как преобразовать строку в вектор.

Положим, есть

string = "teststring";

Хочу применить для решения поставленной задачи функцию count, => строку надо бы в вектор преобразовать.

Так вот как?!

Буду благодарен за совет, либо хоть носом тыкните куда копать...

(есть ещё вариант, что я вообще всё напутал... если так, то так и скажите. буду думать...)
Re: совсем простой вопрос: string into vector
От: Аноним  
Дата: 04.10.05 01:28
Оценка:
Здравствуйте, Аноним, Вы писали:

А>string = "teststring";

А>Хочу применить для решения поставленной задачи функцию count, => строку надо бы в вектор преобразовать.

Если хотите использовать эту функцию —
template<class InputIterator, class Type>
   typename iterator_traits<InputIterator>::difference_type count(
      InputIterator _First, 
      InputIterator _Last, 
      const Type& _Val
   );


то нет нужды использовать вектор. Можно например так —
...
std::string str = "teststring";
std::cout << count( str.begin(), str.end(), 's' );
...
Re: совсем простой вопрос: string into vector
От: DangerDen  
Дата: 04.10.05 06:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Так вот как?!


например так

string input = "Hello world!";
vector<char> output(input.begin(), input.end());
Re[2]: совсем простой вопрос: string into vector
От: srggal Украина  
Дата: 04.10.05 06:28
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>string = "teststring";

А>>Хочу применить для решения поставленной задачи функцию count, => строку надо бы в вектор преобразовать.

А>то нет нужды использовать вектор. Можно например так —

А>
А>...
А>std::string str = "teststring";
А>std::cout << count( str.begin(), str.end(), 's' );
А>...
А>


Обобщу:
Поскольку str.begin() и str.end() — итераторы, то std::string строку можно напрямую использовать с интервальными функциями
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[2]: совсем простой вопрос: string into vector
От: denisku Россия  
Дата: 04.10.05 06:33
Оценка: +1
Здравствуйте, DangerDen, Вы писали:

DD>
DD>string input = "Hello world!";
DD>vector<char> output(input.begin(), input.end());
DD>

Добавлю только, что если планируется использовать данный вектор для передачи параметра в C-шную функцию, то надо не забыть о нулевом терминаторе.
Извините за потраченный траффик..
Re[2]: совсем простой вопрос: string into vector
От: Аноним  
Дата: 04.10.05 13:12
Оценка:
Здравствуйте, DangerDen, Вы писали:

DD>Здравствуйте, Аноним, Вы писали:


А>>Так вот как?!


DD>например так


DD>
DD>string input = "Hello world!";
DD>vector<char> output(input.begin(), input.end());
DD>


у меня острое ощущение, что я пытался так делать, но из-за кривости рук (не иначе) ничего не получалось...
плохо пытался, стало быть...
Re: спасибище! (от задавшего вопрос)
От: Аноним  
Дата: 04.10.05 13:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте!


А>Уткнулся в проблему, никак не могу понять как что делать.

А>Перерыл что было под рукой, перерыл местный форум. Нашёл тему string + vector.
А>То ли туплю, то ли ещё что, но никак не могу понять как преобразовать строку в вектор.

А>Положим, есть


А>string = "teststring";


А>Хочу применить для решения поставленной задачи функцию count, => строку надо бы в вектор преобразовать.


А>Так вот как?!


А>Буду благодарен за совет, либо хоть носом тыкните куда копать...


А>(есть ещё вариант, что я вообще всё напутал... если так, то так и скажите. буду думать...)


спасибо всем большое за помощь.
буду пробовать...

"Поскольку str.begin() и str.end() — итераторы, то std::string строку можно напрямую использовать с интервальными функциями"

идею понял.

"Добавлю только, что если планируется использовать данный вектор для передачи параметра в C-шную функцию, то надо не забыть о нулевом терминаторе."

нет, мне просто поиск\вывод сделать надо...
говорю же, просто всё.
учусь я..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.