Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
6 / 6 / 1
Регистрация: 27.08.2013
Сообщений: 128
1

Запуск программы с параметрами с командной строки

11.08.2014, 15:57. Показов 4406. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Хочу решить простую задачу. Пользователь должен запустить программу с параметрами с консоли. Параметров может быть 2 или 3. Либо две символьные строки (массива char), либо две строки и целочисленная переменная.
Написал такой код:
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
39
40
#include "stdafx.h"
#include <iostream>
#include "header.h"
using namespace std;
 
int _tmain(int argc, char argv[])
{
    char path1[MAX_PATH] = { 0 }, path2[MAX_PATH] = { 0 };
    unsigned int bytesinblock=1024*1024;
    if (argc < 3)
    {
        cout << "No input data";
        exit(1);
    }
    else if(argc == 3)
    {
        
        memcpy(path1, (const void*)argv[2], sizeof(argv[2]));
        memcpy(path2, (const void*)argv[3], sizeof(argv[3]));
    }
    else if(argc == 4)
    {
 
        memcpy(path1, (const void*)argv[2], sizeof(argv[2]));
        memcpy(path2, (const void*)argv[3], sizeof(argv[3]));
        bytesinblock = (unsigned int)argv[4];
    }
    else
    {
        cout << "Too large data";
        exit(1);
    }
    cout << "Input"<<endl;
    printf(path1);
    cout << "Output"<<endl;
    printf(path2);
    cout << "Bytes<< "<<bytesinblock;
    
    return 0;
}
Написал в cmd путь до ехешника. Вызвал его и через пробелы написал параметры. Программа закрылась с предложением отладить. В чем проблема? Про argv и argc читал, но никогда раньше не пользовался. Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2014, 15:57
Ответы с готовыми решениями:

Запуск программы из командной строки
Здравствуйте. Подскажите, как запустить следующею программу из командной строки? #include...

Запуск графической программы с параметрами из командной строки
Пишу примитивный нотифер, нужно что бы через консоль можно было передавать текст в label и listbox....

Запуск командной строки с параметрами
Есть командная строка и ее надо запустить, делаю как обычно ...

Запуск с несколькими параметрами командной строки
У меня консольное приложение,в нём несколько параметров командной строки (case &quot;1&quot;,case &quot;2&quot; и.т.д.)...

1
0 / 0 / 3
Регистрация: 12.07.2014
Сообщений: 9
11.08.2014, 20:04 2
Ошибка в:
Цитата Сообщение от Afrit Посмотреть сообщение
int _tmain(int argc, char argv[])
Необходимо:
C++
1
int _tmain(int argc, char* argv[])
0
11.08.2014, 20:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2014, 20:04
Помогаю со студенческими работами здесь

Запуск командной строки с параметрами (Лазраус)
Уважаемые программисты! В который раз прошу Вашей помощи. Пытаюсь запустить командную строку с...

Запуск программы из командной строки
не могу запустить програму из командной строки код package ppl; class El { double...

Запуск программы из командной строки
Можно ли как-то ограничить вводимые аргументы? Функция static void Main(string args) должна...

Запуск командной строки из кода программы
Пишу свою среду разработки программ на Ассемблере. Код из РичТекстБокса сохраняю в текстовый файл...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru