shellove scriptovanie v C++

Sekcia: Programovanie 04.12.2017 | 21:42
Avatar JohnyXtream   Návštevník

Zdravim, Vas tu vo spolok,

prave som sa pokusal nieco sa naucit o scriptovani v c++, zaujimalo by ma ako sa da nacitat premenna z terminalu do programu

    • RE: shellove scriptovanie v C++ 04.12.2017 | 22:15
      Avatar c   Návštevník

      Kazdy program ma svoje prostredie. Vid priklad /proc/PID/environ. Viac menej su to premenne z konzoli. Vypis aktualne nastavenych premien v konzole je prikazom set. Definicia globalna je napr. a=3 alebo cez export a=3. Zrusenie je unset PREMENNA.

      A ako programatorsky (pisane C-ckarom):

      1. Pouzit plnu definiciu main. Tj.

      int main(int argc, char **argv, char **env)
      {
      ...
      }
      

      A premenne su dostupne v dvojrozmernom poli resp. jednorozmerne polev retazcov ulozene v env.. Pri vypise riadkov/stlpcov pola je posledny prvok ukonceny jednorozmerneho retazca pola ukonceny NULL.

      2. Pouzit globalnu premennu a s nou pracovat.

      extern char **environ;

      (Viac vid man environ).

      3. Treti najviac user-friendly. A to pouzit funkciu getenv. Alebo pozri man getenv.

    • RE: shellove scriptovanie v C++ 04.12.2017 | 22:18
      Avatar bedňa LegacyIce-antiX  Administrátor
      #include <iostream>
      
      int main(int argc, char** argv) {
          std::cout << "Have " << argc << " arguments:" << std::endl;
          for (int i = 0; i < argc; ++i) {
              std::cout << argv[i] << std::endl;
          }
      }

      Spustíš si ho napríklad: ./test a1 b2 c3

      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: shellove scriptovanie v C++ 04.12.2017 | 22:22
      Avatar Juraj Artix - OpenRC - i3  Používateľ
    • RE: shellove scriptovanie v C++ 05.12.2017 | 00:40
      Avatar samalama.   Návštevník

      prave som sa pokusal nieco sa naucit o scriptovani v c++

      no, evidentne bol ten pokus marny...

      • RE: shellove scriptovanie v C++ 05.12.2017 | 08:51
        Avatar co_ak   Návštevník

        Preco nie?

        • RE: shellove scriptovanie v C++ 05.12.2017 | 11:36
          Avatar bedňa LegacyIce-antiX  Administrátor

          Prreto že C++ nieje skriptovací jazyk.

          Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
          • RE: shellove scriptovanie v C++ 05.12.2017 | 12:10
            Avatar pisatel   Návštevník

            Preto že C++ nie je primarneskriptovací jazyk.

            Co nie je, moze byt.

            • RE: shellove scriptovanie v C++ 05.12.2017 | 12:31
              Avatar Livan Manjaro s XFCE, Q4OS s KDE  Používateľ

              C++ je kompilovaný jazyk, takže ťažko môže byť skriptovací. To znamená, že predtým, ako ho ideš spustiť, ho musíš skompilovať, inak nebude fungovať.

              • RE: shellove scriptovanie v C++ 05.12.2017 | 14:35
                Avatar Toto_pole_je_povinne   Návštevník

                To ze je tak, neznamena, ze sa neda zmenit. Nic ti nebrani ho implementovat ako aj skriptovaci jazyk. Resp. jeho zakladnu cast, kedze rozsah standardov c++ je velky. Cize kludne, ak niekto chce, to moze urobit. ... Ale naco vynachadzat kolo, ked uz je vynajdene.

                • RE: shellove scriptovanie v C++ 05.12.2017 | 21:58
                  Avatar bedňa LegacyIce-antiX  Administrátor

                  Toto je fakt veľká myšlienka, je to ťažko aj komentovať.

                  Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
            • RE: shellove scriptovanie v C++ 05.12.2017 | 14:25
              Avatar WlaSaTy   Návštevník

              A čo má tvoj príspevok spoločné s tým že pôvodná otázka je "ako načítať premenné prostredia v programe cpp"?

              export ORACLE_SID ORACLE_HOME ...