Ich habe einen automatischen Schreibbot geschaffen, der Zeichen der Zeichenkette simuliert, die vom Benutzer gegeben werden.Wie man eine Zeichenkette eingibt, die " n" darin enthält
ist mein Code folgendermaßen aus:
printf("Enter speed (wpm) (1 to 11750):");
scanf("%d", &speed);
if(speed < 1 || speed > 11750)
{
printf("\nPlease provide CORRECT DATA\n");
return -1;
}
printf("Paste the String : \n");
gets(exaArray);
exaArrayLength = strlen(exaArray);
relation = (int)11750/speed;
printf("typing will start in 2 sec-\n");
Sleep(2000);
i=pos=0;
while(i<=exaArrayLength)
{
Sleep(relation);
if((exaArray[pos]>96) && (exaArray[pos]<123)) //small letters
{
keycode=0x41 + (exaArray[pos]%97);
smallLetter(keycode); //function for key simulation
}
.....
I-Eingang nehme mit der Funktion bekommt. Dieses Programm funktioniert einwandfrei, wenn ich Text einfüge, der keine Eingabe enthält. Dieses Programm funktioniert also gut mit einem Absatz. Wenn der Benutzer jedoch mehr als einen Absatz bereitstellt, simuliert er nur den ersten Absatz.
Weil gets
bei '\ n' endet. Welche Funktion könnte mehrere Absatz-Eingaben annehmen und einer Zeichenfolge zuordnen?
Schleife um die Lesefunktion, verketten, was bisher gelesen wurde. – alk
OT: Aaund tu *** nicht '' gets() ', sondern stattdessen' fgets() '. – alk
@alk Herr, wenn ich Eingabe wie folgt verwende - fgets (s, 20000, stdin); würde diese Anweisung nicht enden, wenn eine Eingabe oder \ n in einer Benutzereingabe vorliegt? –