Anzahl Argumente der Kommandozeile



  • Hacker schrieb:

    Was [...] hast du gegen Escape-Sequenzen [...]?

    Vielleicht dass sie nur mit ANSI-Code (der unnötig ist und den sowieso niemand verwendet) funktionieren und mit anderen Zeichensätzen nicht?



  • Also. Was genau soll ich tun? Einfach 'ue' schreiben?



  • whiiler schrieb:

    Hacker schrieb:

    Was [...] hast du gegen Escape-Sequenzen [...]?

    Vielleicht dass sie nur mit ANSI-Code (der unnötig ist und den sowieso niemand verwendet) funktionieren und mit anderen Zeichensätzen nicht?

    Das stört mich nichtmal. Mich stört viel eher, dass ich, um die Ausgabe verstehen zu können, wissen muss, welches Zeichen das ist.



  • whiiler schrieb:

    Hacker schrieb:

    Was [...] hast du gegen Escape-Sequenzen [...]?

    Vielleicht dass sie nur mit ANSI-Code (der unnötig ist und den sowieso niemand verwendet) funktionieren und mit anderen Zeichensätzen nicht?

    Haha, ich bin sicher, Escape-Sequenzen gibt es auch mit anderen Sprachen 😃



  • 314159265358979 schrieb:

    whiiler schrieb:

    Hacker schrieb:

    Was [...] hast du gegen Escape-Sequenzen [...]?

    Vielleicht dass sie nur mit ANSI-Code (der unnötig ist und den sowieso niemand verwendet) funktionieren und mit anderen Zeichensätzen nicht?

    Das stört mich nichtmal. Mich stört viel eher, dass ich, um die Ausgabe verstehen zu können, wissen muss, welches Zeichen das ist.

    Das müsstest du mittlerweile aber auswendig können.



  • Nö. Ich habe besseres zu tun, als oktale ASCII Werte auswendig zu lernen.



  • Hacker schrieb:

    Overflow schrieb:

    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char* argv[])
    {
        cout << "Aufruf des Programms = " << argv[0] << endl;
        cout << (argc - 1) << " weitere Argumente wurden main() übergeben: \n";
       
        int i = 1;
       
        while(argv[i])
        {
            cout << argv[i++] << endl;
        }
    }
    

    Hoffe du hast for-Schleifen gelernt:

    #include <iostream>
    
    int main(int argc, char* argv[])
    {
        std::cout << "Aufrufs-Verzeichniss des Programms: " << argv[0] << '\n'
                  << argc - 1 << " weitere Argumente wurden main() übergeben: \n";
    
        for(int i(1) ; i < argc ; ++i)
            std::cout << argv[i] << '\n';
    }
    

    Hmm, wüsste jetzt nicht was so schlimm an meiner Lösung ist. Funktioniert doch einwandfrei.



  • Overflow schrieb:

    Hmm, wüsste jetzt nicht was so schlimm an meiner Lösung ist. Funktioniert doch einwandfrei.

    Wenn du so weiter denkst... bitte, ich bin sicher 's macht Spaß kryptischen Code zu warten 😃
    Nein, ich mein ja nur. Ne for Schleife wäre in diesem Fall genau das, was du versuchst nachzuahmen.



  • Overflow schrieb:

    Hmm, wüsste jetzt nicht was so schlimm an meiner Lösung ist. Funktioniert doch einwandfrei.

    "funktioniert" heißt nur, dass der Compiler es frisst und das Programm nicht abstürzt. Dass der Code lesbar und wartbar ist, ist aber mindestens genauso wichtig. Dein Beispiel steht arg am Wegesrand des Üblichen und macht sich grade auf den Weg durch die Zone des Seltsamen und WTF-Land in Richtung der Wartungswüste 😉



  • pumuckl schrieb:

    Overflow schrieb:

    Hmm, wüsste jetzt nicht was so schlimm an meiner Lösung ist. Funktioniert doch einwandfrei.

    "funktioniert" heißt nur, dass der Compiler es frisst und das Programm nicht abstürzt.

    Mehr. Es Funktioniert heißt, dass es technisch gesehen nichts mehr zu verbessern gibt. Das Programm arbeitet gemäß aller Erwartungen. (Natürlich hast du Recht mit dem Rest!)



  • Mich wundert ja schon, dass keiner mit sowas kam:

    #include <iostream>
    #include <algorithm>
    #include <iterator>
    
    int main(int argc, char ** argv)
    {
    	std::cout << "Number of arguments: " << argc << "\n";
    	std::copy(argv, argv + argc, std::ostream_iterator<char const *>(std::cout, "\n"));
    	return 0;
    }
    


  • Das return 0; ist BTW unnötig.



  • Ich finde es so persönlich schöner 😉


Anmelden zum Antworten