Autor
		 | 
		
			Tema: Lectura teclado  (Leído 4,434 veces)
		 | 
	 
 
	
		
			
				
					
						| 
							AXA
							
						 | 
						
							
							 
							
Quiero leer la letra o la tecla que escribo sin que el programa espere a que precione una. en pascal esta el keypressed. Aqui no encuentro una funcion que diga si aprieto una tecla para leerla. Y getchar espera a que se apriete una. Quiero hacer un juego y estoy trabada con esto. 
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							.xAk.
							
								 
								
								  Desconectado
								Mensajes: 419
								
								 
								F0r3v3R NeWbI3
								
								
								
								
								
								  
								 
							 
						 | 
						
							
							 
							
Depende del sistema. Con las ncurses es muy sencillo, pero no para win.  Con  SDL, tienes funciones para ello, para todos los sistemas, o al api de win,  seguro dudas en windows, mírate:  Using Keyboard InputSaludos 
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Última modificación:  4 Enero 2022, 09:07 am por .xAk. »
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							RayR
							
								
								  Desconectado
								Mensajes: 245
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
Como ya te dijeron, no hay forma estándar ni portable. O usas bibliotecas multiplataforma, como las que ya te mencionaron, o recurres a funciones específicas de cada sistema operativo. En Windows, la forma más sencilla y parecida a lo que se hace en Pascal es usar las funciones _kbhit() y _getch() (debes incluir "conio.h"). La primera verifica si hay una tecla presionada, y la segunda lee una tecla (que puede ser una de las "especiales", como Esc, las flechas, etc) sin esperar a que se presione Enter. Obviamente esto es muy distinto a lo que hace getchar(). No hay nada de malo en usar estas funciones cuando es necesario. Te lo digo porque a veces se critica de forma exagerada su uso. Sí, no son estándar de C o C++, pero es que no hay manera estándar de hacer lo que quieres, así que se justifica utilizarlas. Y conio.h es parte del runtime de C de Microsoft desde hace mucho, por lo que todo compilador para Windows que se precie la incluye, como es el caso de MinGW y, obviamente, VC++: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/getch-getwch?view=msvc-170https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/kbhit?view=msvc-170 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							Hextor
							
								
								  Desconectado
								Mensajes: 4
								
								 
								
								
								
								
								 
							 
						 | 
						
							
							 
							
Es que getchar() intenta leer del fichero de entrada stdin, si hay algo en el buffer lo pilla, sino espera a que metas tú algo. Lo que sucede es que estás intentado usar funciones que están orientadas a meter valores por entrada estandar de ejecución del programa, una consola por lo general.
  Para hacer algo como un videojuego en C, deberías utilizar unas librerias a modo de framework que ya implementen funciones que te permiten recibir eventos.
  Eso, o si lo estás haciendo de forma didactica, buscar en la api de windows algo que te permita manejar eventos del teclado, yo nunca lo he heco, pero librerias para C de juegos de alguna forma lo tienen que implementar. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							- Hector 
						 | 
					 
				 
			 |  
		 
	 |  
	| 
		
		
	 |  
	 |  
 
	 
	
 
			 
			
				
					
						| Mensajes similares | 
					 
					
						 | 
						Asunto | 
						Iniciado por | 
						Respuestas | 
						Vistas | 
						Último mensaje | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Lectura del teclado en una ventana
							 
							Java
						 | 
						
							rommel89
						 | 
						
							4
						 | 
						
							3,125
						 | 
						
							 
							
								 2 Agosto 2012, 23:07 pm 
								por leogtz
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							¿Como romper una lectura de teclado?
							 
							Java
						 | 
						
							exoesqueleto
						 | 
						
							3
						 | 
						
							2,712
						 | 
						
							 
							
								 6 Julio 2013, 05:49 am 
								por exoesqueleto
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Duda con una lectura de teclado en c++
							 
							Programación C/C++
						 | 
						
							dato000
						 | 
						
							9
						 | 
						
							4,346
						 | 
						
							 
							
								28 Diciembre 2013, 15:42 pm 
								por leosansan
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Busqueda binaria en JAVA con lectura de archivos sin ingresar datos desd teclado
							 
							Java
						 | 
						
							Hana29
						 | 
						
							3
						 | 
						
							2,817
						 | 
						
							 
							
								 9 Diciembre 2015, 16:24 pm 
								por DarK_FirefoX
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Python: Lectura errónea por teclado
							 
							Programación General
						 | 
						
							kurosakisan
						 | 
						
							2
						 | 
						
							2,822
						 | 
						
							 
							
								24 Junio 2018, 20:33 pm 
								por kurosakisan
							
						 | 
					 
				 
			    |