3

.NET Console.ReadLine 関数が提供するのと同じ動作を実現する必要があります。ユーザーがエンターキーを押すと、プログラムの実行が続行されます。

次のコードは、追加の入力が必要なため、十分ではありません。

printf ("Press Enter to continue");
scanf ("%s",str); 

助言がありますか?

4

5 に答える 5

6

次のように fgets() を使用できます。

#include <stdio.h>

fgets(buf, sizeof(buf), stdin);
于 2010-03-18T19:42:11.897 に答える
2

関数 getchar() を使用する

于 2010-03-18T19:40:25.960 に答える
2

これを試して:

printf ("Press Enter to continue"); 
scanf(“%[^\n]“,str);
于 2010-03-18T19:42:06.317 に答える
0

getlinegetcharおそらくほとんどの場合よりも優れています。これにより、「入力」前のすべてのユーザー入力をキャプチャでき、バッファ オーバーフローの影響を受けません。

char *buf=NULL;
printf("Press enter to continue: ");
getline(&buf,0,stdin);
// Use the input if you want to
free(buf); // Throw away the input
于 2010-03-18T19:42:26.123 に答える
0

do while は scanf 関数で使用できます。

do{
    scanf("%s",str1);
}while(str1[0] == '\0' || str1[0] == '\r' || str1[0] == '\n');
于 2017-01-09T10:41:26.657 に答える