Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Командная строка


Автор: profispb 18.1.2007, 22:51
Подскажите пожалуйста как сделать программу так что бы
в командной строке ввести: <имя_программы.ехе> <значение>
И чтобы функция находящаяся в этой программе обработала значение.

Компилятор Borland C++ 5.1 или Borland C/C++ 3.1

Автор: PoloS 18.1.2007, 22:54
для начала назови тему по-человечески.... smile 

Автор: Anikmar 18.1.2007, 22:54
В функцию main передаются параметры командной строки. Как с ними работать можно посмотреть в хелпе, набрав слово main и нажав на нем F1


Автор: zkv 19.1.2007, 02:08
profispb, не ленимся искать, тема явно из ТОП10 по популярности 
http://forum.vingrad.ru/topic-130471/hl/argc%2Cand%2Cargv/index.html#


Автор: sergejzr 19.1.2007, 03:24
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: KpoHyc 19.1.2007, 09:18
буду оригинален

Код

/*======================================================================
            Проверка на наличие аргументов командной строки
======================================================================*/

main(int argc, char *argv[])
{

...

if (argc == 1)
{
    printf ("You can enter file paths manually\nOR use command promt arguments following way :\n\n");
    printf ("H8000.exe\n\nFirst argument  : [Input file path]\n\nSecond argument : [Output result file path]\n\n");
    printf ("Third argument  : [Output report file path]\n\n");
    getch ();
}
if (argc<2)
{
    printf("\nPlease enter path to input assembler file\t"); 
    gets(name_asm);
}
else
    strcpy(name_asm,argv[1]);
if    (argc<3)
    {
        printf("\nPlease enter path to output result code file\t"); 
        gets(name_res);
    }
    else
        strcpy(name_res,argv[2]);
    if (argc<4)
    {
        printf("\nPlease enter path to output report file\t"); 
        gets(name_rep);
    }    
    else
        strcpy(name_rep,argv[3]);

    fasm = fopen(name_asm,"rt");                            
    fres = fopen(name_res,"wt");                            
    frep = fopen(name_rep,"wt");    

}


Добавлено @ 09:20 
в коммандной строке:
Код

main.exe asm.txt asm2.txt asm3.txt

Автор: profispb 21.1.2007, 09:35
KpoHyc, спасибо разобрался.

А тем кто флудит отвечу так, да я пишу программы любой сложности и под win и под dos. А работа из консоли нужна лично мне для повышения опыта. Такие заказы обычно не делаются.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)