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

Как получить доступ к элементам вектора - C++

Восстановить пароль Регистрация
 
sraf
2 / 2 / 0
Регистрация: 28.02.2010
Сообщений: 46
02.05.2014, 21:56     Как получить доступ к элементам вектора #1
Нашел вот такой код. А вот как получить доступ к элементам вектора?

C++
1
2
3
4
5
6
7
8
9
FILE *ToWrite = fopen("C:\\result.txt", "w+");
    list<string> ids;
    char s[20];
    while(true)
    {
        fgets(s, 20, f);
        ids.push_back(s);
        if(!feof(f))break;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melg
416 / 152 / 62
Регистрация: 23.09.2013
Сообщений: 306
02.05.2014, 22:01     Как получить доступ к элементам вектора #2
http://www.cplusplus.com/reference/v...vector/vector/

Доступ к элементам последовательных контейнеров чаще всего осуществляется через итераторы.

C++
1
2
3
for (std::vector<std::string>::iterator it = ids.begin(); it != ids.end(); ++it) {
    std::cout << *it;
}
Так же можно получить доступ при помощи вызова функции at с указанием индекса позиции элемента в векторе.

C++
1
2
for (unsigned i=0; i<ids.size(); i++)
    std::cout << ids.at(i);
sraf
2 / 2 / 0
Регистрация: 28.02.2010
Сообщений: 46
02.05.2014, 22:10  [ТС]     Как получить доступ к элементам вектора #3
второй вариант дает такую ошибку:
error C2039: 'at' : is not a member of 'std::list<_Ty>'
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11809 / 6788 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
02.05.2014, 22:14     Как получить доступ к элементам вектора #4
Цитата Сообщение от sraf Посмотреть сообщение
А вот как получить доступ к элементам вектора?
и каким боком тут list тогда?
sraf
2 / 2 / 0
Регистрация: 28.02.2010
Сообщений: 46
02.05.2014, 22:19  [ТС]     Как получить доступ к элементам вектора #5
этот пример вот здесь: Функция fopen() для большого текстового файла читает только первую строку
первый вариант идет. я его переделывал как там. Но мне надо например взять конкретную строку и присвоить в переменную
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11809 / 6788 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
02.05.2014, 22:29     Как получить доступ к элементам вектора #6
Если list, то через итераторы
sraf
2 / 2 / 0
Регистрация: 28.02.2010
Сообщений: 46
02.05.2014, 22:32  [ТС]     Как получить доступ к элементам вектора #7
Да, но не могу добратся до конкретной строке
Melg
416 / 152 / 62
Регистрация: 23.09.2013
Сообщений: 306
02.05.2014, 22:43     Как получить доступ к элементам вектора #8
Вы не могли бы уточнить, что Вы имеете ввиду, под словами - не могу добраться? Каким образом вы "добираетесь", и каким образом выясняете, что "не добрались"?
sraf
2 / 2 / 0
Регистрация: 28.02.2010
Сообщений: 46
02.05.2014, 22:47  [ТС]     Как получить доступ к элементам вектора #9
Мне надо конкретную строку и присвоить в переменную допустим пятую. Еще нужно парсить
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2014, 22:49     Как получить доступ к элементам вектора
Еще ссылки по теме:

C++ Как получить доступ к элементам массива работая с ним как с указателем и адресной арифметикой
C++ Как получить поля вектора структур?
C++ Доступ к элементам unordered_map

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

Или воспользуйтесь поиском по форуму:
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
02.05.2014, 22:49     Как получить доступ к элементам вектора #10
берете первый итератор, т.е. list.begin() и инкрементите его 5 раз. или более разумно, используете спец функцию
std::advance:
http://www.cplusplus.com/reference/iterator/advance/
там пример как раз с листом и как раз с доступом к пятому элементу.
Yandex
Объявления
02.05.2014, 22:49     Как получить доступ к элементам вектора
Ответ Создать тему
Опции темы

Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru