Diskuze: Ukončení standardního vstupu po stisku kláves CTRL-Z / CTRL - D
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Kombinace CTRL-Z patří mezi řídící znaky. Dle ASCII má hodnotu 26
(dec), 032 (oct), x1A (hex).
Hodnotu si můžeš nadefinovat např:
#define CTRL_Z '\032'
a na tuto hodnotu testovat.
Je třeba myslet na to, že se jedná o znakovou konstantu nikoli řetězec.
Ha, řešitel Progtestu
(spletl jsem se?)
Pokud načítáš pomocí scanf, tak to vrací int. Buď je to počet
povedených konverzí, nebo něco jiného. Mezi to ostatní patří konstanta
EOF
, což značí konec vstupu, buď právě pomocí CTRL+D/Z nebo
konec souboru ze stdin.
Nespletl Snad mě někdo nezabije, když se neptám na celé řešení, ale jenom její části Díky za odpověď
Pro slušně se dotazující i pro bezdůvodně mínusující:
#include <stdio.h>
#include <conio.h>
#define CTRL_Z '\032'
char c;
do {
if ((c = _getch()) > 31) putchar(c);
// ...
} while (c != CTRL_Z);
Zobrazeno 6 zpráv z 6.