ユーザが指定した文字列をシミュレートする自動入力ボットを作成しました。私が使用して入力を取ってい' n'を含む文字列の入力方法
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
}
.....
機能を取得します。
私のコードはこれです。このプログラムは、Enterを含まないテキストを貼り付けるとうまく動作します。したがって、このプログラムは1つの段落でうまく動作します。 しかし、ユーザーが複数の段落を提供している場合は、最初の段落だけをシミュレートします。
gets
は '\ n'で終了するためです。どの関数が複数の段落の入力を受け取り、それを文字列に割り当てることができるか。
これまでに読み込まれたものを連結して、読み取り機能をループします。 – alk
OT:Aaand do *** ***は 'gets()'を使いますが、代わりに 'fgets()'を使います。 – alk
@alk sir、もし私がこのような入力を使うなら - fgets(s、20000、stdin); ユーザー入力にEnterまたは\ nがある場合、このステートメントは終了しませんか? –