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
Hardscore Gast |
Hardscore Gast |
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
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...!!!!!!
... 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());
...
Nein, str ist ne lokale Variable, die ist nicht in std...
Brauchst du das etwa auch ?
http://mitglied.lycos.de/eemex/googletut/
;-)
Hey, ich hab mich mal drum gekümmert!
Hab en Quellcode der geht!
Hier bitte:
// Net send - Programm
// by Hardscore
#include <iostream>
#include <string>
#include <stdio.h>
#include <conio.h>
using namespace std;
void fEinfuehrung()
{
cout << "Net - send Programm..." << endl;
cout << "by Hardscore (2004)" << endl;
}
void fComputername()
{
string vstringComputername; // HINTER der {
cout << "An welchen Computer soll eine Nachricht verschickt werden...? (COMPUTERNAME): " << endl;
cin >> vstringComputername;
}
void fNachricht()
{
string vstringNachricht;
printf ("Nachricht: ");
cin >> vstringNachricht;
}
void fAnzahl()
// Wie oft soll die Nachricht verschickt werden...
{
int vintAnzahl;
printf ("Wie oft soll die Nachricht verschickt werden...?");
cout << "Anzahl: ";
cin >> vintAnzahl;
}
int main()
{
double vintWieoftnoch;
vintWieoftnoch = 1;
// Jetzt werden alle zuvor definierten Funktionen aufgerufen...
fEinfuehrung();
fComputername();
fNachricht();
fAnzahl();
}
Viel Spass noch!
MFG "kaitec"(r) and "The Black-Hacker's"(r)
Präfixe sind halt ne tolle Sache, weil man dann ja gleich vom Namen auf den Typ schliessen kann:
double vintWieoftnoch;
Jetzt fehlt nur noch: float fMyFunx(float fFloatParam)...
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
« c++ in html verwenden | Borland C / C++ Programme » | ||