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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.72
snake007v
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 5
#1

Точки и работа с командной строкой windows - C++

04.04.2009, 17:16. Просмотров 4034. Ответов 9
Метки нет (Все метки)

В общем, нужно создать прогу которая будет читать введенные пользователем числа, а потом работать с ними в командной строке винды.
Существующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
 
 
#pragma argsused
int main(int argc, char* argv[])
{
        clrscr();
    float gateway;
    cout<<"Vvedite znachenie: ";
    cout<<"\n"<<gateway<<"\n";
    system("PAUSE");
}
А теперь вопросы и проблемы:
- какой тип данных выбрать для числа с несколькими точками(18.1.2.5214.1 например)? Подобное число должен ввести юзер и оно должно стать значением переменной gateway;
- как передать в командную строку переменную gateway и какой синтаксис ее использования в ком. строке.
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
04.04.2009, 17:24     Точки и работа с командной строкой windows #2
помоеиу это строка,ну то есть массив символов
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
04.04.2009, 17:29     Точки и работа с командной строкой windows #3
Нужно реализовывать собственный тип,либо использовать строковый.
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
04.04.2009, 17:48     Точки и работа с командной строкой windows #4
Цитата Сообщение от snake007v Посмотреть сообщение
- как передать в командную строку переменную gateway и какой синтаксис ее использования в ком. строке.
В argv[0] записывается имя твоей проги, а в argv[1], argv[2] и т.д. - параметры, которые ты ей передаешь в виде символов, разделенных пробелами.
Например, при вызове в ком. строке "prog 3.14", в argv[1] будет строка "3.14". Чтобы использовать ее как число, можно применить ф-ю преобразования atof(argv[1]) и присваивать своей переменной.
snake007v
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 5
04.04.2009, 18:20  [ТС]     Точки и работа с командной строкой windows #5
Спасибо, открыли глаза на многие аспекты. Просьба, можно какой либо простейший пример?
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
04.04.2009, 18:28     Точки и работа с командной строкой windows #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
main(int argc, char *argv[])
{
    float f;
    
    if(argc > 1) {
       f = atof(argv[1]);
       printf("f = %f\n", f);
    } else
       printf("Too few arguments.\n");
    return 0;
}
Пример:
Код
C:\>test 0.111
f = 0.111000
Работает корректно, если в качестве аргумента передается число, в остальных случаях надо ставить дополнительные проверки.
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
04.04.2009, 18:40     Точки и работа с командной строкой windows #7
помоему все таки ТС хочет сделать дугое...если вам надо перадть чтото на исполнение в cmd используйте функцию system
snake007v
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 5
04.04.2009, 18:49  [ТС]     Точки и работа с командной строкой windows #8
Цитата Сообщение от Nestor Посмотреть сообщение
Работает корректно, если в качестве аргумента передается число, в остальных случаях надо ставить дополнительные проверки.
В качестве аргумента передается IP(например 192.168.0.1) адрес. По-этому, совершенно неважно, какого типа будет переменная. Важно чтоб в конечном результате ее значение можно было использовать.
Цитата Сообщение от Mecid Посмотреть сообщение
помоему все таки ТС хочет сделать дугое...если вам надо перадть чтото на исполнение в cmd используйте функцию system
Да, но как там использовать переменные из своей программы?
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
04.04.2009, 18:55     Точки и работа с командной строкой windows #9
например вам нужно перейти в нужную папку и показать ее содержимое
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <string.h>
int main(){
char cmd[256]="cd";
char dir[128]={0};
scanf("%s",dir); //vvodim direktoriyu
strcat(cmd,dir);
system(cmd);
system("dir");
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2009, 19:45     Точки и работа с командной строкой windows
Еще ссылки по теме:
C++ Работа с командной строкой. Отрытие вызываемых файлов
C++ Управление командной строкой
C++ Робота с командной строкой
Проблемы с командной строкой и файлами C++
С чем лучше начинать: с IDE или с командной строкой? C++

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

Или воспользуйтесь поиском по форуму:
snake007v
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 5
04.04.2009, 19:45  [ТС]     Точки и работа с командной строкой windows #10
Спасибо всем кто помог, миссион комплит!
ПыСы: на форуме неправильно работает счетчик сообщений. У меня их 4, а система насчитала уже 8)
С булкой давно работаю, админу могу посоветовать пересмотреть настройки подсчета сообщений и обновить счетчик.
Yandex
Объявления
04.04.2009, 19:45     Точки и работа с командной строкой windows
Ответ Создать тему
Опции темы

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