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

Преобразование string* в string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись таблицы частот из файла в список или ассоциативный массив http://www.cyberforum.ru/cpp-beginners/thread1830683.html
Всем привет. Имеется запись таблицы частот в лист. list < Tree* > Read::frequence(map<char, int> &m) { list < Tree* > t; ofstream fout("frequence.txt"); for (map<char, int>::iterator i = m.begin(); i != m.end(); i++) { fout << i->first << ":" << i->second << endl; Tree *p = new Tree; p->c = i->first; p->a = i->second;
C++ Сортировка одномерного массива Где ошибка? Нужно отсортировать элементы массива таким образом, чтобы сначала были размещены все положительные элементы, а затем все отрицательные (0 считаем положительным элементом). #include <iostream> using namespace std; int main() { int i,n, m, mi; cin>>n; int x; http://www.cyberforum.ru/cpp-beginners/thread1830681.html
Как вывести минимальное положительное значение, а не все положительные C++
#include <iostream> #include <math.h> using namespace std; int main() { double x,y; double a,b,h; cout<<"A="; cin>>a; cout<<"B="; cin>>b;
C++ Не хочет собираться проект с использованием OpenCV в MSVS 2013 - Visual C++
Привет всем! Сегодня решил попрактиковаться в написании программ с использованием библиотеки OpenCV версии 2.4.13. Скачал, установил по инструкции, вошел в MSVS 2013, создал пустой проект на С++. В свойствах проекта поставил пути к папкам либов, пути к инклюд папкам (ко всем), сами либы в настройках компоновщика (во вкладке ввод), и даже пути к папкам модулей OpenCV (тоже ко всем). Вбил вот...
C++ Либо удваивая одиночные, либо заменяя сдвоенные одним символом, привести строку к заданному виду http://www.cyberforum.ru/cpp-beginners/thread1830618.html
Помогите решить эту задачу, я написал решение, но оно получилось огромным (73 строчки), непонятным и страшным. Это пятая задача из муниципального этапа олимпиады, она не должна быть очень сложной: Даны три строки, состоящие из строчных латинских букв. С этими строками можно производить следующие операции: либо заменить один символ строки на два таких же символа (например, заменить символ «a»...
C++ С чего лучше начать, и какие классы создать. Разработка приложения для управления удаленной консолью Есть задание: Разработать Клиент-Серверное приложение, которое позволяет выполнять консольные команды на удаленном компьютере без использования стандартных средств удаленной коммункикации (Telnet). Особенности: 1)Приложение может выступать как сервером так и клиентом. 2)Должна присутствовать возможность шифрования канала связи. 3)Должен быть контроль доступа по имени пользователя и... подробнее

Показать сообщение отдельно
dreamn
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 27
21.10.2016, 11:44  [ТС]     Преобразование string* в string
Класс
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
38
class phoneClass {
private:
    float   *thickness,      //Толщина
            *width,          //Ширина
            *length,         //Длина
            *weight;         //Вес
    string  *model,          //Модель
            *mark;           //Марка
    string  *GPS;            //Местонахождение
    bool err;                //Индентификатор ошибки 
    bool Init (float, float, float, float, string*, string*, string*);
    
public:
    bool iF = false, iS = false, iB = false, iG = false, iCon = false, iCall = false, iSms = false;
    
    phoneClass();
    phoneClass(float, float, float, float, string*, string*, string*, bool&);
    void actScreenshot();        //Скриншот
    void actFlashligth();        //Фонарик
    void actBrowser();           //Браузкер
    void actGPS();               //GPS
    int actContacts();          //Контакты
    int actCall();              //Звонок
    int actSms();               //Смс
    virtual ~phoneClass();
    void setMark(string* mark);
    string* getMark() const;
    void setModel(string* model);
    string* getModel() const;
    void setWeight(float* weight);
    float* getWeight() const;
    void setLength(float* length);
    float* getLength() const;
    void setWidth(float* width);
    float* getWidth() const;
    void setThickness(float* thickness);
    float* getThickness() const;
};
Конструктор
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
phoneClass::phoneClass(float _thickness, float _width, float _length, float _weight, string* _model, string* _mark, string* _GPS, bool &err) {
    cout << "phoneClass::phoneClass(float _thickness, float _width, float _length, float _weight, string* _model, string* _mark, bool &err)" << endl;
 
    thickness = new float;
    width = new float;
    length = new float;
    weight = new float;
    model = new string;
    mark = new string;
    GPS = new string;
 
    if (!Init(_thickness, _width, _length, _weight, _model, _mark, _GPS)) {
        cout << "Error in phoneClass::phoneClass(float* _thickness, float* _width, float* _length, float* _weight, string* _model, string* _mark)" << endl;
        delete this;
        err = false;
    }
    else err = true;
}
Инициализация
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool phoneClass::Init(float _thickness, float _width, float _length, float _weight, string* _model, string* _mark, string* _GPS) {
    cout << "bool phoneClass::Init(float* _thickness, float* _width, float* _length, float* _weight, string* _model, string* _mark)" << endl;
    if ((_thickness>0)&&(_width>0)&&(_length>0)&&(_weight>0)&&(!_model->empty())&&(!_mark->empty())) {
        *thickness = _thickness;
        *width = _width;
        *length = _length;
        *weight = _weight;
        model = _model;
        mark = _mark;
        GPS = _GPS;
 
        return true;
    }
    else {
        cout << "Error bool phoneClass::Init(float* _thickness, float* _width, float* _length, float* _weight, string* _model, string* _mark)" << endl;
        return false;
    }
}
Метод actGPS
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
void phoneClass::actGPS() {
    cout << "void phoneClass::actGPS()" << endl;
    char *buf = new char [100];
    
    if (iG == false) {
        cout << "iG = FALSE" << endl;
        ifstream f_in( "data/ip.txt" );
        cout << "FILE OPENED" << endl;
        getline( f_in, *GPS );
        cout << "READ STR" << endl;
        /*fstream ip ("data/ip.txt", ios::in);
        
        ip.getline(buf, 100);
        
        cout << "BUF = " << buf << endl;
        ip.close();
        string TEMP_GPS (buf, strlen(buf));
        cout << "TEMP_GPS = " << TEMP_GPS << endl;
        *GPS = TEMP_GPS;
        cout << "GPS = " << *GPS << endl;
        cout << "FILE CLOSED" << endl;*/
        iG = true;
        cout << "iG = TRUE" << endl;
    }
    else {
        cout << "iG = TRUE" << endl;
        *GPS = "Unknown";
        cout << "GPS = UNKNOWN" << endl;
        iG = false;
        cout << "iG = FALSE" << endl;
    }
}
Добавлено через 1 минуту
Цитата Сообщение от nd2 Посмотреть сообщение
C++
Скинул свой код.
По сути точно также описано все, но падает на строчке чтения

Добавлено через 59 секунд
Цитата Сообщение от hoggy Посмотреть сообщение
C++
1
2
3
std::string line;
fstream ip ("data/ip.txt", ios::in);
io >> line;
Необходимо динамический string
 
Текущее время: 22:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru