Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » string mit Leerzeichen???

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 ] > 2 <
010
09.09.2007, 19:52 Uhr
mischa
Fragender


Also Visual 6.0 ist nicht wircklich gut. Wenn ich mich nicht irre ist das noch nicht einmal Standard. Besorg dir lieber Microsoft Visual Studio 2005 Express. Oder einfach CodeBlocks.


Bearbeitung:

standarD!!!!


--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.

Dieser Post wurde am 09.09.2007 um 21:18 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
09.09.2007, 19:54 Uhr
~Luciusperca
Gast


So:


Code:

#include <iostream>
#include <string>
#include <cstdio>
#include <cstdlib>

int main()
{
    bool continue = true;
    while (continue == true)
    {
        std::string input;
        std::cout << "by Lucius}{perca_||  cmd: ";
        std::getline(cin, input);
        std::system(input.c_str());
        std::cout << "Continue? (0 = Ja, 1 = Nein)" << std::endl;
        std::cin >> continue;
   }
}




hab ich 9 Fehler. Muss man da evtl. noch andere Header einbinden?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
09.09.2007, 19:55 Uhr
Kest
saint


>windows.h< gehört nicht zum Standard; daher einfach >system(...)< statt >std::system(...)<.
Und >continue< ist 'n Schlüsselwort, darf also gar nicht als Bezeichner verwendet werden.
Und dann auch: >std::getline(std::cin, input);<.
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.

Dieser Post wurde am 09.09.2007 um 19:57 Uhr von Kest editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
09.09.2007, 19:58 Uhr
~Luciusperca
Gast


Gibt es denn gar keine Möglichkeit einen Befehl MIT Leerzeichen an die System() Funktion zu übergeben?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
09.09.2007, 20:00 Uhr
Kest
saint



C++:
#include <iostream>
#include <string>
#include <windows.h>

int main()
{
    bool _continue = true;
    while (_continue == true)
    {
        std::string input;
        std::cout << "by Lucius}{perca_||  cmd: ";
        std::getline(std::cin, input);
        std::system(input.c_str());
        std::cout << "Continue? (0 = Ja, 1 = Nein)" << std::endl;
        std::cin >> _continue;
        std::cin.sync();
   }
}



Und wenn ich jetzt >echo c++ ist scheisse< eingeben, funzt das.
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.

Dieser Post wurde am 09.09.2007 um 20:02 Uhr von Kest editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
09.09.2007, 20:11 Uhr
~Luciusperca
Gast


So:


Code:

#include <iostream>
#include <string>
#include <windows.h>

int main()
{
    //bool _continue = true;
    //while (_continue == true)
    {
        std::string input;
        std::cout << "by Lucius}{perca_||  cmd: ";
        std::getline(std::cin, input);
        system(input.c_str());
       // std::cout << "Continue? (0 = Ja, 1 = Nein)" << std::endl;
       //std::cin >> _continue;
        std::cin.sync();
   }

return main();
}


funktionierts ganz gut. Mann muss nur immer doppelt bestätigen.
Vielen Dank, so hatte ich mir das vorgestellt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
09.09.2007, 20:11 Uhr
xXx
Devil


Was fürn Schwachsinn man labern kann ... system ist Teil vom alten C-Standard, d.h. mit c vorm Include in den Namespace std aufgenommen ...

C++:
#include <cstdio>
std::system("copy A:\\test.txt B:\\");

continue ist aber in der Tat ein Schlüsselwort in C++ ... deswegen kann es sein das er da meckert ... dann machst de halt exit draus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
09.09.2007, 21:20 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von xXx:
Was fürn Schwachsinn man labern kann ... system ist Teil vom alten C-Standard, d.h. mit c vorm Include in den Namespace std aufgenommen ...

C++:
#include <cstdio>
std::system("copy A:\\test.txt B:\\");

continue ist aber in der Tat ein Schlüsselwort in C++ ... deswegen kann es sein das er da meckert ... dann machst de halt exit draus

Wenn man windows.h inkludiert ist system in keinem namespace, da die WinAPI in C ist. Ohne windows.h sollte man cstdio verwenden und dann ists in std - zumindest bei allen neueren Compilern (und dazu zählt VC 6 NICHT)

exit sollte man auch nicht verwenden, da manche compiler da makros haben
--
class God : public ChuckNorris { };

Dieser Post wurde am 09.09.2007 um 21:20 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
09.09.2007, 21:40 Uhr
Kest
saint


@xXx
Ich glaub, du hast dich wieder mal verhoben: ich hab nicht behauptet, dass >system< nicht zum Standard gehört, sondern >windows.h<; diese Aussage war übrigens nicht an deinen Beispiel adressiert, sondern ans ~Luciusperca. Daher sollteste auf deine Worte achten. Dann hab ich mich schließlich aus Unwissenheit und wegen dämlichen Angewohnheiten verschrieben: hab immer >windows.h< eingebunden, wenn ich >system< benutzt hab, was unter anderem auch immer funktioniert hat: tja, nichts zu ändern.

Dann kann ich aber wieder was nicht verstehen: wenn du auf Klugscheisser willst, warum dann >cstdio< statt dem richtigen >cstdlib<?

Das war jetzt keine Anspielung auf 'nen Streit oder was Ähnliches (nur dass du mich nicht falsch verstehst).


@~Luciusperca
Weil das Programm ehe endlos läuft, mach es lieber so (endlich richtig)

C++:
#include <iostream>
#include <string>
#include <cstdlib>

int main()
{
    while(true){
        std::string input;
        std::cout << "by Lucius}{perca_||  cmd: ";
        std::getline(std::cin, input);
        std::system(input.c_str());
        }
}

--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.

Dieser Post wurde am 09.09.2007 um 21:57 Uhr von Kest editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ 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: