Wypisanie komunikatów w przypadku braku parametrów cmd

0

Witam, mam problem polegający na wypisaniu komunikatów, gdy w cmd nie zostały podane parametry nazwy pliku wyjściowego i zakończy program oraz komunikat, gdy w przypadku został podany tylko plik wyjściowy program wykona się z danymi domyślnymi. Nie wiem, czy jestem na dobrym tropie. Za wszelką pomoc w znalezieniu do napisania kolejnych komunikatów serdeczne dzięki.

 string zmienna, nazwa_plk_wyj, konv;
    int default_xy = 4;
    int x = default_xy, y = default_xy, sx = 1, sy = 1, mx = x, my = y;//wymiary tablicy, dane startu, dane mety

    for(int i=0; i<argc; i++)
    {
        zmienna = argv[argc];
        if (zmienna == "-o") 
        {
            nazwa_plk_wyj = argv[argc + 1];
        }
        else if (zmienna == "-s") 
        {
            konv = argv[argc + 1];
            x = stoi(konv);
            konv = argv[argc + 2];
            y = stoi(konv);
           
        }
        else if (zmienna == "-p") 
        {
            konv = argv[argc + 1];
            sx = stoi(konv);
            konv = argv[argc + 2];
            sy = stoi(konv);
        }
        else if (zmienna == "-k") 
        {
            konv = argv[argc + 1];
            mx = stoi(konv);
            konv = argv[argc + 2];
            my = stoi(konv);

        }



    }
    if (mx == default_xy) {
        mx = x;
        my = y;
    }
    if (argc == 0) {
        cout
            << "[PLIKI POMOCY]" << endl << "Uruchom program z poziomu linii polecen wprowadzajac dane w parametrach: " << endl;
            << "-o - plik wyjsciowy" << endl;
            << "-s - wymiary labiryntu" << endl;
            << "-p - dane staru" << endl;
            << "-k - dane mety" << endl;

           
            << " -o wynik.txt -s 20 20 -o 2 2 -k 18 19 lub tylko -o wynik.txt";
        exit(0);
    }
    //weryfikacja, czy wprowadzano wymagane dane
    if (nazwa_plk_wyj.empty()) {
        cout << "Nie podano pliku wyjściowego!";
        exit(1);
    }
  

0

Co dokładnie chcesz osiągnąć? Kiedy dokładnie komunikat ma zostać wyświetlony?

1

Dodaj to na samym początku main()

if (argc == 1)
{
    std::cout << "Nie podano zadnych argumentow\n";
    exit(1);
}

Jeżeli użytkownik wpisze samą nazwę pliku, bez żadnych opcji, to komunikat zostanie wyświetlony.

3

if (argc == 0) {
To się nigdy nie wykona, pierwszy argument to nazwa programu

1 użytkowników online, w tym zalogowanych: 0, gości: 1