Ausgabe Testen



  • Hallo Leute,

    mal wieder ne Frage,

    ich habe ein kleines Progrämmchen geschriben, was zum Ziel hat an return ein Rückgabe wert auszugeben.

    So nun habe ich am Anfang folgendes geschriben...
    string main()
    {

    hier kommt dann mein Source mit einem Ergebnis der Variable String als
    string Ausgabe;

    return Ausgabe;
    }

    Wie kann ich nun Testen, ob ich jetzt den Inhalt der Variable bekomme ??

    Hatte an so nen bat datei unter Windows gedacht...
    ergebnis.bat bei der Ich mit meine_Programm.exe aufrufe...

    Aber wie ??

    Gruß und Danke
    andy_mann



  • mmm... n string als rückgabewert von main???
    main hat immer den rückgabewert int!
    eine richtige main sollte so aussehen

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

    wenn ich mich täusche, bitte sagen, aber ich bin mir eigentlich absolut sicher
    geloescht



  • ja, Programme können nur ints zurückgeben, in einer Bat-Datei lässt sich dass dann irgendwie mit 'errorlevel' abfragen.

    Wenn du unbedingt einen string brauchst, müsstest du den Weg über Dateien oder Umgebungsvariablen nehmen.



  • Hallo,

    ich verstehe nicht wie du dir vorstellst das deine main Funktion einen std::string zurueckgeben soll. Das ist ja eine Klasse und die ist ja auserhalb deines Programms garnicht bekannt. Mal abgesehen davon ist das ja eine Datenstrucktur die irgendwo im Speicher liegen muesste, und der Speicher deines Programmes ist ja nach Beendigung wieder freigegeben. Ich denke ja das der dir das nicht einmal uebersetzt mit string als rueckgabe.

    Gruß Entyl Sa



  • Danke euch,

    also gut, ich kann denn Source noch umbauen. dass der nen int zurückgibt.
    Wie sihet dann der Befehl z.b in der bat aus um das ergebnis zu bekommen ??

    Gruß
    andy_mann



  • Also ich versteh nicht so ganz was du genau brauchst. ich schreib dir jetzt mal einfach ein prog, das den string in einer datei speichert:

    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    int main(int argc, char* argv[])
    {
      string Ausgabe;
      //tu was
      ofstream datei("datei.txt")
      datei << ausgabe;
      datei.close(); //Das kannst du auch weglassen, weils sowieso am ende des programms steht
    }
    

    ungetestet, ich hoffe ich hab keinen mist gebaut
    das ergebnis steht dann in datei.txt
    geloescht 😃



  • andy_mann schrieb:

    Wie sihet dann der Befehl z.b in der bat aus um das ergebnis zu bekommen ??

    Wie gesagt, errorlevel abfragen.

    http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=errorlevel+bat+file&btnG=Google+Suche&meta=



  • mmmhhh.....

    eigentlich möchte ich folgendes....

    Der source in programm.exe:
    int main ()
    {
    int Ausgabe = 1;
    return Ausgabe;
    }

    Aufrufen von oeffne.bat:
    echo programm.exe

    Und jetzt möchte ich mit der Variablen von programm.exe, nehmlich '1' weiterarbeiten...

    Wie rufe ich das programm.exe richtig auf, damit ich das Ergebnis bekomme ??

    Gruß und Danke
    Andy_mann



  • Der erste link von der google-suche die ich gepostet hab, zeigt doch ein Beispiel, oder was ist das Problem?



  • Ohh..

    ups, sorry, hab ich übersehen.

    Kannst Du mir eventuell noch sagen, wie man den Consolen Modus abschaltet ??
    Ich habe momentan den Source in der W32 Console application laufen und möchte, das der sourc im hintergrund läuft...

    Gruß
    andy_mann



  • Du meinst, du möchtest dass keine Konsole aufpoppt? Dann darfst du keine Konsolen-Anwendung erstellen sondern einfach eine Win32-Anwendung.

    Das ist jetzt sehr Compilerspezifisch, beim VC++ hat man dann das Problem, dass man keine normale main()-Funktion mehr hat, sondern so ein WinApi-WinMain-Gedöns braucht.
    Ich glaube mich zu errinnern, dass man den VC++ auch irgendwie anders umgestellt bekommt. Also Konsolen-Anwendung erstellen und dann in den Projekt-Einstellungen den Window-Parameter wegmachen. Wie genau und ob, weiß ich aber nicht mehr.



  • mmmhhhh...

    ja genau das meinte ich.
    Jetzt wehre es halt nicht schlecht, wenn ich wüsste, wie das in den Source eingeben wird oder welches Projekt ich nehmen soll ??

    Habe Visual C++ 6.0

    Gruß
    andy_mann



  • Weis jemand wie man das in VS++ 6.0 einstellt, dass die Console nicht aufgerufen wird ??

    Gruß und Danke
    Andy_mann


Anmelden zum Antworten