Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Text in ein Konsolenprogramm eingeben/auslesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.11.2015, 10:39 Uhr
~abcbuck
Gast


Für ein etwas aufwendigeres Projekt muss ich in ein für Windows geschriebenes Konsolenprogramm Text eingeben und aus diesem auslesen und habe keine Ahnung, wie das geht.
Habe schon ein bisschen rumgesucht und bin auf das hier https://msdn.microsoft.com/de-de/library/windows/desktop/ms682499(v=vs.85).aspx und das hier https://www.c-plusplus.net/forum/39256-full gestoßen, komme damit aber nicht weiter.

Damit ich das Ganze verstehe, wäre vielleicht eine Lösung zu folgendem Beispiel hilfreich:

Ich möchte ein Programm schreiben, das alle natürlichen Zahlen bis 100 quadriert und das Ergebnis in einer Textdatei speichert. Allerdings weiß ich nicht, wie man Zahlen quadriert und benutze deshalb das in kompilierter Form vorliegende Programm square_x.exe mit folgendem (nicht zur Verfügung stehenden) Quellcode:


C++:
//SQUARE_X
#include <iostream>
using namespace std;

int main(){

    int in;

    cout << "Eingabe: ";
    while(cin>>in){
        cout << in << static_cast<char>(253)/*'²'*/ << " = " << in*in << endl
             << endl
             << "Eingabe: ";
    }

    return 0;
}


Wie muss ich dazu also folgendes Codefragment ergänzen?:


C++:
//USES_SQUARE_X
#include <fstream>
using namespace std;

ofstream datei;

void schreibeInDatei( const char* name, const char* inhalt ){
    datei.open( name, ios::app );
    datei << inhalt;
    datei.close();
}

int main(){
    
    char buffer[30], buffer2[50];

    //Rufe irgendwie das Programm square_x.exe auf

    for( int i = 1 ; i <= 100 ; i++ ){

        //Sende irgendwie i an das Programm square_x.exe
        
        //Erhalte irgendwie aus dem Programm square_x.exe ein Ergebnis und speichere dieses in buffer2

        //Extrahiere aus dem erhaltenen String das Ergebnis der Berechnung
        strtok(buffer2," "); strtok(0, " ");
        strncpy(buffer2,strtok(0, " \n"),sizeof(buffer2)-1);

        sprintf( buffer , "%d\n%s\n\n" , i , buffer2 );

        schreibeInDatei( "list.txt", buffer );
    }

    //Schließe irgendwie das Programm square_x.exe wieder

    return 0;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.11.2015, 01:57 Uhr
Hans
Library Walker
(Operator)


Hi,


Zitat:
Für ein etwas aufwendigeres Projekt muss ich in ein für Windows geschriebenes Konsolenprogramm Text eingeben und aus diesem auslesen und habe keine Ahnung, wie das geht.

könntest Du das noch mal etwas klarer formulieren? - Du sollst also in ein Konsolenprogramm Text eingeben oder mit dem Konsolenprogramm Text ausgeben oder was?

Und hier widersprischst Du Dich:

Zitat:
Ich möchte ein Programm schreiben, das alle natürlichen Zahlen bis 100 quadriert und das Ergebnis in einer Textdatei speichert. Allerdings weiß ich nicht, wie man Zahlen quadriert und benutze deshalb das in kompilierter Form vorliegende Programm square_x.exe mit folgendem (nicht zur Verfügung stehenden) Quellcode:


In dem dann folgenden Quellcode steht doch drin, wie man Zahlen quadriert. (Ausserdem sollte man das in der Schule spätestens auch in der 8. Klasse lernen.) Das der Quellcode von square_x nicht zur Verfügung steht, und Du dann einen entsprechenden Code postest, ist auch ein Wiederspruch. Vielleicht ist es nicht genau der Quellcode von dem, was Du hast, aber er macht das gleiche, also ist es in diesem Fall nicht so wichtig, ob die Codezeilen identisch sind oder nicht.

Aber da Du den Code, den Du hier geposted hast, anscheinend nicht verstehst, empfehle ich Dir, erstmal ein C++ Lehrbuch zu nehmen und es durchzuarbeiten. Denn Deine Beispiele sind die Anfangsgründe von C++ und wenn Du die nicht verstehst, brauchst Du mit dem Zeug aus Deinen Links gar nicht erst anfangen, weil sie das und noch einiges mehr als bekannt voraus setzen.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: