Sleep-Funktion
-
a = i++;
a = i; i = i+1;a = ++i;
i = i+1; a = i;
-
also ich hatte es jetzt so eingerichtet :
string slow(string x) { int length=x.length()-1; for(int i=0;i<=length;i=i+1) { cout<<x[i]; Sleep(50); }}das klappt allerdings auch nicht. das programm bricht jetzt schon ein Buchstaben vorher ab
also wäre dankbar wenn mir einer eine komplette funktion rübergibt, die so ähnlich aussieht wie meine, nur sollte sie auch funktionieren

-
Bist Du sicher, dass sie sofort abbricht, oder erst nach 50 Millisekunden?
Mach mal Sleep(500)
-
Liegt an deinem string.
MfG,
*Ranner*
-
das programm bricht ab sobald der string durchgelaufen ist:
ich übergebe der funktion ein string "hallo".
wenn ich starte läuft "hallo" einmal durch und dann kommt eine fehlermeldung.
bzw. wenn ich x.length()-1 laufen hab bricht es bei "hall" ab.
-
1310-Logik schrieb:
Also mit dem Codeausschnitt kann man das nicht so sagen, zeig mal mehr.
-
das komplette programm in dev-c++ :
#include <iostream> #include <stdlib.h> #include <string> #include <windows.h> using namespace std; string slow(string x) { int length=x.length()-1; for(int i=0;i<x.length();i=i+1) { cout<<x[i]; Sleep(500); } } int main(int argc, char *argv[]) { string x="hallo"; cout<<slow(x)<<endl<<endl; system("PAUSE"); return 0; }
-
fehlt wohl ein return...
-
Bonzy schrieb:
...und dann kommt eine fehlermeldung.
Welche denn?
-
OMG!
#include <iostream> #include <stdlib.h> #include <string> #include <conio.h> void slow(std::string); int main(int argc, char *argv[]) { std::string sHallo = _T("Hallo! Dies ist eine Testnachricht."); slow(sHallo); std::cout << std::endl; getch(); return 0; } void slow(std::string sString) { for(unsigned int i = 0; i < sString.length(); ++i) { std::cout << sString[i]; ::Sleep(500); } }
-
ähm vlt solltest du das cout in der main weglassen, weil die funktion gibts ja schon aus. und da die funktion nix zurückgibt, stürzt das cout in der main ab.
-
Es funktioniert ^^
danke

-
und wie geht das mit Buchstaben ?? :p
-
Wie du meinen?