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

STL - C++

Восстановить пароль Регистрация
 
besh]<a
 Аватар для besh]<a
12 / 10 / 1
Регистрация: 02.11.2009
Сообщений: 194
18.10.2010, 17:52     STL #1
C++
1
std::vector<char*> files;
Объясните пожалуйста как правильно заполнять такой вектор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2010, 17:52     STL
Посмотрите здесь:

STL C++
C++ STL
C++ STL в С++
STL C++
C++ STL.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.10.2010, 17:58     STL #2
besh]<a, Ну выделять память например для начала под i-ый элемент вектора. Писать в i-ый элемент вектора строку. И все.
Только resize сначала соответственно. Чтобы i-ый элемент можно было использовать.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.10.2010, 18:05     STL #3
besh]<a, правильно понимаю - нужно список имён файлов хранить?
Я бы лучше так сделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
#include <list>
#include <string>
 
int main(){
  std::list<std::string> names;
  names.push_back("file1.txt");
  names.push_back("file2.txt");
  names.push_back("file3.txt");
 
  for ( std::list<std::string>::const_iterator i = names.begin(); i != names.end(); ++i ){
    std::ofstream ofs(i->c_str());
    if ( ! ofs.is_open() ){
      std::cerr << "bla bla bla" << std::endl;
      return 1;
    }
    ofs << "The Matrix has you!" << std::endl;
    ofs.close();
  }
  return 0;
}
besh]<a
 Аватар для besh]<a
12 / 10 / 1
Регистрация: 02.11.2009
Сообщений: 194
18.10.2010, 20:57  [ТС]     STL #4
ну я бы хотел сделать так, не знаю возможно ли такое: использовать new с элементом вектора или списка, как то так:
C++
1
2
3
4
    
std::vector<char*> files;
....
files[i] = new char[len];
Добавлено через 1 час 29 минут
easybudda, спасибо за ваш вариант!
работаю в линукс в делаю вывод через printw, можно ли там выводить строку сразу, а не посимвольно?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.12.2010, 18:26     STL #5
Цитата Сообщение от besh
<a;1038049]делаю вывод через printw
в смысле printf()?
C
1
printf("%s", "bla bla bla");
Yandex
Объявления
11.12.2010, 18:26     STL
Ответ Создать тему
Опции темы

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