Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Windows / Dos - Befehle in C++

Hallo,

Ich möchte Windows / Dos - Befehle meine C++ - Programme mit einbauen... wie geht das...
Was muss ich schreiben, damit das Programm z.B. den net send Befehl ausführt...

THX für Antworten,

Hardscore


Antworten zu Windows / Dos - Befehle in C++:

Am einfachsten mit

system( "net send bla blubb" );

Hallo...

ok... ich hab den Quelltext soweit fertig... kann's aber aufgrund von 2 Fehlern beim Compilieren nicht benutzten... kann mir jemand weiterhelfen... ???

für Komentare oder Kritik am Quellcode bin ich immer dankbar...

Hardscore


Der Quellcode:


// Net send - Programm
// by Hardscore

#include <iostream>
#include <string>
using namespace std;

void fEinfuehrung()

{
cout << "Net - send Programm...";
endl;
endl;
     << "by Hardscore (2004)";

endl;
endl;
}




void fComputername()

string vstringComputername;

{
cout << "An welchen Computer soll eine Nachricht
         verschickt werden...? (COMPUTERNAME): ";
endl;
cin >> vstringComputername;
endl;
endl;
}



void fNachricht()

string vstringNachricht;

{
cout << "Nachricht: ";
cin >> vstringNachricht;
endl;
endl;
}



void fAnzahl()
// Wie oft soll die Nachricht verschickt werden...

int vintAnzahl;

{
cout << "Wie oft soll die Nachricht verschickt werden...?"
endl;
cout << "Anzahl: ";
cin >> vintAnzahl;
endl;
endl;
}



int main()

double vintWieoftnoch;
vintWieoftnoch = 1;

// Jetzt werden alle zuvor definierten Funktionen aufgerufen...
fEinfuerung();
fComputername();
fNachricht();
fAnzahl();

while (vintWieoftnoch != vintAnzahl)
{
system ("net send" vstringComputername vstringNachricht");
++vintWieoftnoch;
}

return 0;
}



die 2 Fehler lauten...:

1.) Syntaxfehler : Fehlendes ';' vor Bezeichner 'string'

2.) Unerwartetes Dateiende gefunden

beide fehler sollen in der Zeile : string vstringComputername;  liegen...???

Thx für alle Antworten...

Moin,

da sind noch mehr Fehler im Programm, nur bricht der Compiler beim ersten schon ab.

Die Deklaration der String-Variablen ist an der falschen Stelle im Code. Wenn ich mir den Code so anschaue willst Du globale Variablen verwenden. Du deklarierst die Variablen aber zwischen der Funktionsdeklaration und ihrer eigentlichen Implementierung (also vor der { ).

Bsp.:

void fComputername()

string vstringComputername;

{
cout << "An welchen Computer soll eine Nachricht
        verschickt werden...? (COMPUTERNAME): ";
endl;
cin >> vstringComputername;
endl;
endl;
}

ist falsch. Entweder muss es heissen:

// Deklaration global (ausserhalb der Funktion)
string vstringComputername;    

void fComputername()
{
cout << "An welchen Computer soll eine Nachricht
        verschickt werden...? (COMPUTERNAME): ";
endl;
cin >> vstringComputername;
endl;
endl;
}

ODER wenn Du lokale Variablen verwenden solltest:

void fComputername()
{
string vstringComputername;     // HINTER der {

cout << "An welchen Computer soll eine Nachricht
        verschickt werden...? (COMPUTERNAME): ";
endl;
cin >> vstringComputername;
endl;
endl;
}

Aber wenn Du lokale Variablen verwenden solltest musst Du diese auch wieder zurückgeben, da diese nur im Scope der Funktion existieren. Wenn Du das jetzt nicht verstehst verwende erstmal globale Variablen.

Ansonsten hab ich noch gesehen, dass Du den system( "Kommando" ) Befehl falsch verwendest. Du darfst nur EINEN String Parameter übergeben. Folglich musst Du also erst den String der "net send", den der den Host und den der die eigentliche Nachricht enthält zu einem konkatenieren (z.B. stringKommando = stringKommando + stringHost + stringNachricht; ) und den dann an den system Befehl übergeben: system( stringKommando );

Hallo...

Ok, ich hab den Code ausgebessert und jetzt ist er denk ich mal ok, bis auch eine fehlermeldung die mich noch bis zur fertigen exe trennt...

irgendwie scheint es ein Problem zu sein string variablen als parameter für den system (...) befehl zu übergeben... es erscheint folgender fehler...:
(Fehler liegt in der Zeile wo der system - Befehl ausgefürt werden soll...)

Konvertierung des Parameters 1 von 'class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char> >' in const char *' nicht möglich

Hiillllffffeeeeeee...!!!!!!

Guck mal in deiner Doku, was std::string::c_str ist...

In was für einer Doku...???

In der, in der auch stand, dass du std::string benutzen darfst ?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

omg ;D
wenn du einen string (aus der STL) an eine funktion übergeben willst ist es am besten du machst es so:
std::str.c_str() (ausser die funktion akzeptiert den string [aus der STL])

Sorry...aber das musst du mir leider ein bisschen ausführlicher erklären...

"aus der STL" ???
... und wo und wie muss ich std::str.c_str() einsetzen... Ein Beipiel wäre gut...

thx

Hardscore

Du hast jetzt 2 Möglichkeiten:

1. Du versuchst, aus dieser Hinweis-Suppe und dem Rest des Internet, oder einem Buch die gebrauchte Information zu ziehen

2. Du gibst auf, und akzeptierst, dass C++ > du.

t.t

Vielen Dank für die Hilfe...!!!!

Sowas ist echt enorm ermutigent...

Vielleicht klappt's jetzt: Das deutsche Google Tutorial!

n1 :-)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
... und wo und wie muss ich std::str.c_str() einsetzen... Ein Beipiel wäre gut...

...
std::string str = "net send host1 blub";

system(std::str.c_str());
...

so dein beispiel

« c++ in html verwendenBorland C / C++ Programme »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
DOS
Die Abkürzung DOS steht für "Disk Operating System". Dies ist ein System aus dem Hause Microsoft und war der Vorgänger von Windows. Maus und Multimedia war...

C++
C++ ist eine von der ISO standardisierte Programmiersprache und eine erweiterte Form von C zur objektorientierten, generischen und prozeduralen Programmierung. Weitestgeh...

Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...