DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
1211
Tıklama
0
Öne Çıkarma
C de enter a basmadan input alma
H
11 yıl (5 mesaj)
Er
Konu Sahibi

Merhabalar,
c de integer olarak tanıttığım bi sayıya scanf le değer atıyorum her scanf ten sonra enter a basmak zorunda kalıyorum bunu bi döngü içerisinde her seferinde farklı değerler atadığım için de vakit kaybı oluyor.scanf te sadece rakama basıp enter a basmadan input değeri almanın bi yolu var mı acaba.vericeğim değerler 0-9 arasında olacak.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



B
11 yıl (48 mesaj)
Çavuş

Girdiğiniz değerleri , / - veya kendi belirlediğiniz bir karakterle ayırabilirsiniz fakat ayraç olarak girdiğiniz karakteri anlayıp değerleri ayıracak kodu yazmanız lazım.


Bu mesaja 1 cevap geldi.
B
11 yıl (1225 mesaj)
Çavuş

Aradığın şey bu olsa gerek.
http://www.linuxquestions.org/questions/programming-9/how-do-i-scan-a-character-from-keyboard-without-the-user-having-to-press-enter-134966/
#include <stdio.h> 
#include <stdlib.h>
#include <termios.h>

static struct termios oldt;

void restore_terminal_settings(void)
{
tcsetattr(0, TCSANOW, &oldt); /* Apply saved settings */
}

void disable_waiting_for_enter(void)
{
struct termios newt;

/* Make terminal read 1 char at a time */
tcgetattr(0, &oldt); /* Save terminal settings */
newt = oldt; /* Init new settings */
newt.c_lflag &= ~(ICANON | ECHO); /* Change settings */
tcsetattr(0, TCSANOW, &newt); /* Apply settings */
atexit(restore_terminal_settings); /* Make sure settings will be restored when program ends */
}

int main()
{
int ch;

disable_waiting_for_enter();

/* Key reading loop */
while (1) {
ch = getchar();
if (ch == 'Q') return 0; /* Press 'Q' to quit program */
printf("You pressed %c\n", ch);
}

return 0;
}



T
11 yıl (555 mesaj)
Çavuş

girdiden sonra enter gerektirmeyen char okuyan bir fonksiyon bulman lazim. windowsta conio.h dahilinde getch() fonksiyonu var. linux icin arastirmadim ama vardir mutlaka. sonra okudugun karakterden rakami cekersin.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.