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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.92
Arderun
1 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 17
#1

вектор string в масив указателей на char - C++

12.09.2011, 19:01. Просмотров 3402. Ответов 22
Метки нет (Все метки)

Доброго дня, комрады. Вот несколько дней как начал разбираться в С++ по 4-му вводному курсу липмана. наткнулся на задачку в общем-то тривиальную, но в определенном месте немного вывихнул мозг.
Задание:
Напишите программу читающую строки в вектор. Скопируйте этот вектор в массив указателей на тип char. Для каждого элемента вектора создайте новый символьный массив и скопируйте данные из элемента вектора в этот символьный массив. Затем поместите указатель на символьный массив в массив символьных указателей.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>  
#include <string> 
#include <vector> 
#include <bitset> 
#include <stddef.h>  
#include <cstring>   
using std::bitset;
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
 
int main()
{ 
    char * himas[10];
    int j,D;
    string V;
    vector<string> liter;
string a ;
for(int i=0; i!=10; ++i)
{cin >> a ;
liter[i].push_back(a);
}
for(int i=0; i!=10; ++i)
{
j=liter[i].size();
V=liter[i];
for(int k=0; k!=j; ++k)               // <-
{**(himas+k)=V[k];                  //  <-
}
}
for(int i=0; i!=10; ++i)
{cout << himas[i] << endl;
}
return 0;
}
не знаю всю ли пунктуацию почистил, но запнулся собсвтенно на записи в указатель на char строки.
Вроде как индексированием на двумерный массив пользоваться не могу так как многомерные массивы собственно следующая глава.
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
1904 / 1436 / 109
Регистрация: 29.05.2011
Сообщений: 2,990
15.09.2011, 14:41     вектор string в масив указателей на char #21
ForEveR, в линуксе, видимо? Я так понимаю, что в linux оно есть именно из-за POSIX.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
15.09.2011, 14:49     вектор string в масив указателей на char #22
grizlik78, Понятно. Спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2011, 17:56     вектор string в масив указателей на char
Еще ссылки по теме:
C++ масив Char (Windows-1251, ASCII, UTF-8)
C++ string[] в char[][] или char[]
Вектор указателей C++
C++ Сортировка массива указателей на char

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

Или воспользуйтесь поиском по форуму:
Сыроежка
Заблокирован
15.09.2011, 17:56     вектор string в масив указателей на char #23
Цитата Сообщение от ForEveR Посмотреть сообщение
Сыроежка, Так вы ж любитель стандарта, но не понимаете что в нем написано? Оригинально.

Вектор создается в функции. Удаляется он после выхода из функции. До тех пор строки корректны. Так же как и указатели на них, если данный объект строки не был изменен в процессе.

Докажите мне обратное, если сможете. Пример кода, пример выполнения кода (показывающий вашу точку зрения), пункт стандарта, в котором это указано. Иначе - лесом.
Вопрос не в том, что именно в вашей функции не произойдет аварийного завершения, а вопрос в том, что всегда надо грамотно писать код, даже в частных примерах демонстрировать правильное использование идиом программирования. Ведь по существу каждый частный пример предназначен для демонстрации общего подхода.
Yandex
Объявления
15.09.2011, 17:56     вектор string в масив указателей на char
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru