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

Считать символы из вектора в массив чаров - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ класс Alfa http://www.cyberforum.ru/cpp-beginners/thread650736.html
Создать класс Alfa таким образом, чтобы при создании первого и уничтожении последнего объекта этого типа на экран выдавались соответствующие сообщения. Указание. Применить статические компоненты класса.
C++ Кодировка в консоли Добрый день , имея некоторый опыт программирования на c# решил так же изучить С++, однако при написании простейшей программ (консольные приложения). Столкнулся с проблемой что русский текст отображается некорректно, явно проблемы с кодировкой...Например даже такой код не работает cout<<"Привет всем!"; Долго лазил в настройках проекта не нашел никаких пунктов связанных с кодировкой. В c# ни... http://www.cyberforum.ru/cpp-beginners/thread650713.html
Вычислить сумму модулей элементов массива, делящихся на три C++
помогите пожалуйста очень срочно надо :) Добавлено через 1 минуту ой в одномерном:) Добавлено через 28 минут уже ненадо :(
C++ написать программу нахождения суммы большего и меньшего из трех чисел
помогите пожалуйста очень срочно надо :) Добавлено через 34 минуты уже ненадо :(
C++ Не получается запустить поток http://www.cyberforum.ru/cpp-beginners/thread650670.html
Доброго времени суток. Делаю как написано в книжке но ничего не получается. Помогите пожалуйста. void __fastcall myThread::Execute() { try { Form1->Run(); } catch(Exception *ex)
C++ Можно ли в массив чаров считать строку полностью? У меня получается считать только первое слово, понимаю что есть функция getline() и еще я какую-то похожую видел, но желательно без этих средств обойтись, как-то бы компилятор убедить в массив считывать пока до конца введенной строчки не доползет.... #include <iostream> int main(){ char qip; std::cin>>qip; for(char* q=qip;((q!=qip+100)&&(*q!='\0'));++q){std::cout<<*q;}... подробнее

Показать сообщение отдельно
AnreyKazakov
Заблокирован
12.09.2012, 16:36     Считать символы из вектора в массив чаров
Задача из вектора string перекидать значения в массив чаров, каждый элемент вектора это должен быть один из массивов...
Я не могу сделать чтоб массивов была пачка в зависимости от размера вектора, с одним массивом получилось, но он создается\удаляется при каждой итерации, а в задаче надо чтоб их пачка была, разных массивов.
Вот код с одним массивом:
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 <vector>
#include <iterator>
#include <string>
#include <cstring>
int main(){
    using std::cout;using std::cin; using std::endl;using std::vector;using std::string;using std::getline;
    string str1;
    vector<string> vec1;
    while(getline(cin,str1)){vec1.push_back(str1);}
    string word;
    for(vector<string>::iterator i=vec1.begin();i!=vec1.end();++i){
        word=*i;
        int k=word.end()-word.begin();
        const char* q=new char[k];
        q=word.c_str();
        cout<<q;
        delete[] q; 
        cout<<endl;
        }
    return 0;
    }
Да и что странно, когда я пытался посимвольно перекинуть из стринг в чар на экран чушь выходила, вот код тоже:
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
#include <iostream>
#include <vector>
#include <iterator>
#include <string>
int main(){
    using std::cout;using std::cin; using std::endl;using std::vector;using std::string;using std::getline;
    string str1;
    vector<string> vec1;
    while(getline(cin,str1)){vec1.push_back(str1);}
    string word;
    for(vector<string>::iterator i=vec1.begin();i!=vec1.end();++i){
        word=*i;
        int k=word.end()-word.begin();
        char* q=new char[k];
        q[0]='\0';
        for(string::iterator j=word.begin();j!=word.end();++j){
            *q=*j;
            ++q;
            cout<<*j;/*выводит нормальное значение*/
            cout<<*q;/*выводит мусор какой-то...*/
            }
        delete[] q; 
        cout<<endl;
        }
    return 0;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru