Сачекајте кориснички унос: Ц језик

Wait User Input C Language



У програмском језику Ц постоје неке функције уноса. Помоћу ових функција можемо чекати на унос корисника. У овом водичу ћемо детаљно разговарати о улазним функцијама.

Формат Стринг

Формат стринг је формат за унете податке. Овај формат почиње знаком %, а затим следи спецификатор формата. Спецификатор формата је специфичан знак који се користи за коју врсту података се чита.







арг1, арг2, арг3… су адресе променљивих на којима ће се унети подаци складиштити.



функција сцанф ()

Синтакса: инт сцанф (формат низа, арг1, арг2, арг3 ...)



Неки од често коришћених спецификатора су следећи:





  • д - Користи се за целобројне вредности.
  • ф - Користи се за плутајући број.
  • ц - Користи се за вредност једног знака.
  • с - Користи се за жице.

Коришћење сингла сцанф () функцију, од корисника се може узети један или више уноса.

Тхе сцанф () функција узима унос са стандардног уноса (тастатура) и складишти вредност у променљивој. Функција чека на унос корисника све док корисник не притисне тастер ентер. Унета вредност се чува у баферу. Када притиснете тастер ентер, сцанф () функција почиње да чита.



Пример 1: Интегер Инпут

//Екампле1.ц
#инцлуде

интглавни(){

инти;
принтф ('Унесите прву целобројну вредност:');
сцанф ('%д', &и);
принтф („Ушли сте: %д н',И);

принтф ('Унесите 2. целобројну вредност:');
сцанф ('%д', &и);
принтф („Ушли сте: %д н',И);

повратак 0;
}

У Примеру 1.ц видели смо то када смо унели целобројне вредности и притиснули тастер ентер. Тхе сцанф () функција узима вредност и складишти је у променљивој. Ако унесемо вредности раздвојене размаком, функција се враћа када се наиђе на размак, али вредности након размака остају у улазном баферу. Зато други сцанф () функција неће чекати на унос корисника, већ узима улаз из бафера.

Пример 2: Унос једнознаковног знака

//Екампле2.ц
#инцлуде

интглавни(){

цхарц;
принтф ('Унесите знак:');
сцанф ('% ц', &ц);
принтф ('Ушли сте: %ц н',ц);

повратак 0;
}

У Примеру 2.ц, видели смо то када користимо % ц спецификатор, сцанф () функција узима само један знак чак и ако смо унели више од једног знака.

Пример 3: Унос са једним знаком (више пута)

//Екампле3.ц
#инцлуде

интглавни(){

цхарц;
принтф ('Унесите први знак:');
сцанф ('% ц', &ц);
принтф ('Ушли сте: %ц н',ц);

принтф ('Унесите други знак:');
сцанф ('% ц', &ц);
принтф ('Ушли сте: %ц н',ц);

повратак 0;
}

Пример 4 :

//Екампле4.ц
#инцлуде

интглавни(){

цхарц;
принтф ('Унесите први знак:');
сцанф ('% ц', &ц);
принтф ('Ушли сте: %ц н',ц);

принтф ('Унесите други знак:');
сцанф ('% ц', &ц);
принтф ('Ушли сте: %ц н',ц);

повратак 0;
}

Пример 5: Унос низа

//Екампле5.ц
#инцлуде

интглавни(){

цхариме[петнаест];
принтф ('Унесите своје име: ');
сцанф ('%с',име);
принтф („Ушли сте: %с н',име);

повратак 0;
}

гетц () функција

Синтакса: инт гетц (ФИЛЕ *ток)

гетц () функција се користи за читање знака из показивача ФИЛЕ (ток). Да бисмо читали са тастатуре, морамо да користимо стдин . Ова функција враћа читаву вредност прочитаног знака.

Пример 6:

//Екампле6.ц
#инцлуде

интглавни(){

цхарц;
принтф ('Унесите први знак:');
док((ц= гетц (стдин))==' н');
принтф ('Ушли сте: %ц н',ц);

док( гетц (стдин)! =' н');

принтф ('Унесите други знак:');
док((ц= гетц (стдин))==' н');
принтф ('Ушли сте: %ц н',ц);

повратак 0;
}

функција гетцхар ()

Синтакса: инт гетцхар (воид)

гетцхар () функција је иста као гетц () . Једина разлика је у томе гетц () функција може читати из било ког улазног тока, док гетцхар () функција чита само са стандардног улаза.

Пример 7:

//Екампле7.ц
#инцлуде

интглавни(){

цхарц;
принтф ('Унесите први знак:');
док((ц= гетцхар ())==' н');
принтф ('Ушли сте: %ц н',ц);

док( гетцхар ()! =' н');

принтф ('Унесите други знак:');
док((ц= гетцхар ())==' н');
принтф ('Ушли сте: %ц н',ц);

повратак 0;
}

Закључак

У овом чланку смо видели како се функције уноса користе у језику Ц. Све ове функције се уносе из улазног бафера и када ове функције користимо више пута, морамо очистити бафер. У супротном, функције неће чекати на унос корисника и преузимаће улаз из бафера.