Anda dapat menggunakan scanf
untuk tujuan ini dengan sedikit trik. Sebenarnya, Anda harus mengizinkan input pengguna hingga pengguna menekan Enter ( \n
). Ini akan mempertimbangkan setiap karakter, termasuk ruang . Berikut ini contohnya:
int main()
{
char string[100], c;
int i;
printf("Enter the string: ");
scanf("%s", string);
i = strlen(string); // length of user input till first space
do
{
scanf("%c", &c);
string[i++] = c; // reading characters after first space (including it)
} while (c != '\n'); // until user hits Enter
string[i - 1] = 0; // string terminating
return 0;
}
Bagaimana ini bekerja? Ketika pengguna memasukkan karakter dari input standar, mereka akan disimpan dalam variabel string hingga ruang kosong pertama. Setelah itu, sisa entri akan tetap dalam aliran input, dan menunggu pemindaian berikutnya. Selanjutnya, kami memiliki for
loop yang mengambil char by char dari input stream (sampai \n
) dan menyarankan mereka untuk mengakhiri string variabel , sehingga membentuk string lengkap sama seperti input pengguna dari keyboard.
Semoga ini bisa membantu seseorang!