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

Реализовать командный интерпретатор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ new на malloc http://www.cyberforum.ru/cpp-beginners/thread882891.html
Измените выделение памяти на C - malloc,и почему у меня не открывает текстовый файл? #include "stdafx.h" #include <string.h> #include <stdlib.h> #include <Windows.h> #include <locale.h> int...
C++ исправить задачу вот есть задача 1 фотография и решение её и Из этой задачи нужно сделать как то решение ко 2й задаче которая на фотографии 2.Я понимаю что в принципе они идентичны, но МОД2 меня смущает . ... http://www.cyberforum.ru/cpp-beginners/thread882868.html
Выделить из строки отдельно английские и отдельно русские буквы C++
всем привет. необходимо в исходной строке переместить английские буквы в начало строки, русские буквы в конец строки, остальные символы удалить. для простоты применяются только прописные символы....
C++ курсач
Здравствуйте, форумчане! Я, как последний идиот, решил долго не задумываться о структуре классов и пишу все в main.cpp. Суть программы: необходимо пройти 3 бублика за определенное время в...
C++ Удалить все строки и столбики массива, в которых все элементы 0 http://www.cyberforum.ru/cpp-beginners/thread882851.html
Удалить все строки и столбики массива, в которых все элементы 0
C++ Прописать в С++ вот алгоритм подробнее

Показать сообщение отдельно
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205

Реализовать командный интерпретатор - C++

28.05.2013, 23:30. Просмотров 524. Ответов 2
Метки (Все метки)

Пользователь вводит в консольное приложение команду (в дальнейшем которая будет выполнять операции с виртуальной файловой системой VFS), например, COPY test1 /temp или MD temp1, а программа должна распознать команду и аргументы и выполнить её. пока меня интересует просто нормальный удобный алгоритм отделения одного от другого и распознавание. кроме того, должно быть подключение к серверу (это я сделал, через сокеты, обмен идёт), но опять же задание адреса и порта пользователем должно идти по команде: connect <address>:<port>. бился час с такой простой командой. и в итоге не работает.

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
    string input = "", addr_str = "", port_str = "";
    char * _input = new char[50];
    int i = 0;
 
bool flag = true;
    while(flag)
    {
    cout<<endl;
    cout<<"enter the server address <connect ip_address:port>"<<endl;
    cout<<">> ";
    cin>>input;
    cout<<endl;
    if (input == "quit") {closesocket(clientSock); return 0;}
    
    strcpy(_input,input.c_str());
    
    
    if (strncmp(_input, "connect", 7))
    {
    i = 8; do {addr_str += _input[i]; cout<<_input[i]<<endl; i++; } while( (_input[i] != ' ') || (_input[i] != ':') );
    if (_input[i] == ':') { for (i=i; i<strlen(_input); i++) {port_str += input[i];} }
    input = port_str.c_str();
    port = atoi(_input);
    flag = false;
    }
    else {printf("try again"); addr_str = ""; port_str = ""; cout<<endl;}
    }
    
    cout<<addr_str<<endl;
    cout<<port_str<<endl;
    cin.get();
как это можно реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru