Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Ex. in C/C++ auch alternative 'main'-Funktion, die ...

Mdl / 9 Antworten / Flachansicht Nickles

Ex. in C/C++ auch alternative 'main'-Funktion, die ...

... die Argumente, die dem Programm von der Konsole übergeben werden NICHT interpretiert?

Eine C/C++ Hauptfunktion sieht ja in der Regel in etwa so aus:

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

Angenommen, ich rufe von der Konsole mein Programm MyPrg.exe wie folgt auf

myprg.exe  Hello      World

so landet die Programmausführung irgendwann bei obiger main()-Funktion und die Werte sind

  argc==3

  argv[0]==myprg.exe, argv[1]="Hello" und argv[2]="World"

Ich kann also mit main() nicht ermitteln, wieviele Leerzeichen zwischen Hello und World stehen. Das könnte irgendeine vorgeschaltete Instanz.

Gibt es vielleicht doch eine Möglichkeit? Wird die gesamte Aufrufsequenz vielleicht in einer main()-vorgeschalteten Funktion innerhalb C/C++ komplett als ein Argument "myprg.exe  Hello      World' übergeben? Ich meine, ich hätte so ewas vor langer Zeit mal gelesen.

Wenn diese Interpretation bereits von der Konsole komplett interpretiert würde, würde es gar keine Möglichkeit geben den ECHO-Befehl als C-Prg. zu realisieren.Vielleicht gibt es die auch gar nicht - ECHO ist ja ein interner Befehl (d.h. es gibt kein ECHO.EXE) . Vielleicht ja aber doch...

Viele Grüße,

Mdl

P.S. Ich benutze den Embarcadero's C++Builder

bei Antwort benachrichtigen
Mdl Nachtrag zu: „Ex. in C/C++ auch alternative 'main'-Funktion, die ...“
Optionen

ALTERNATIVE: Kann man in C/C++ vielleicht auf eine gloabale Variable zurückgreifen, die die Argumente uninterpretiert beinhaltet?

Vielleicht gibt es ja sogar die Möglichkeit Historie des Kommandozeileninterpreters zuzugreifen?

Gruß,

Mdl

bei Antwort benachrichtigen