![]() |
Ciclo infinito ... Hasta precionar una tecla Hola ke tall... quiero hacer un programa en c estandar, sobre linux que este realizando modificaciones en un archivo de texto indefinidamente en un ciclo infinito hasta ke yo presione una tecla. El procedimiento es el siguiente: tengo dos archivos: Arch01 Arch02... en los que escribiré datos (tomemos 0s y 1s como ejemplo) en dos columnas la columna 1 es el dato y la 2 es "código de error". los mismos datos en el otro archivo. en si son 4 operaciones que se estaran repitiendo indefinidamente. y entre cada operacion debe poderse generar la interrupcion............el paro del ciclo al precionar una tecla... ............posible Interrupción. 1. grabar en el archivo 1 el dato. (columna 1) ............posible Interrupción. 2. grabar en el archivo 1 el código de error. (columna 2) ............posible Interrupción. 3. grabar en el archivo 2 el dato. (columna 1) ............posible Interrupción. 4. grabar en el archivo 2 el código de error. (Columna 2) ............posible Interrupción. no se como hacer un ciclo infinito ,,, que este circulando hasta que pecione una tecla el usuario...AYUDA |
Re: Ciclo infinito ... Hasta precionar una tecla Yo lo haría de la siguiente forma: #define TRUE 1 #define FALSE 0 ... char caracter; printf ( "Va a comenzar un proceso. Desea continuar? S - N: " ) ; scanf ( "%s", &caracter ); while ( TRUE ) { if ( caracter == 'N' ) { break; } else { printf ( "Se ejecutaria la instruccion 1\n" ); } printf ( "Desea continuar con el proceso iniciado? S - N: " ); scanf ( "%s", &caracter ); if ( caracter == 'N' ) { break; } else { printf ( "Se ejecutaria la instruccion 2\n" ); } printf ( "Desea continuar con el proceso iniciado? S - N: " ); scanf ("%s", &caracter ); } Espero que te sirva. Saludos!. |
Re: Ciclo infinito ... Hasta precionar una tecla Mil gracias por el aporte,, es buenoooo.... pero la idea es que no evalué por medio de preguntas,,,, estoy tratando de hacerlo con procesos hijos... ke un proceso hijo aga las operaciones mientras el padre espera .... a que preciones una tecla perooo creooo ke no me ayuda mucho estooo... por que sigo sin lograr que se siga haciendo las operaciones solitas.... necesito una rutina que este indefinidamente ciclada... hata ke precione una tecla... no ete pregunte si deseo continuar............ es decir el usuario solo interactua para detener el proceso con un solo entreeeeerrr o otra tecla. |
Re: Ciclo infinito ... Hasta precionar una tecla Ahora estoy entendiendo un poco más. No sirve de mucho el código que te deje. Dejame pensarlo un rato, soy novato en esto de C, pero me interesa el desafío que propone lograr hacer eso. Después te digo a ver que salió. |
Re: Ciclo infinito ... Hasta precionar una tecla Que biennn...mariano_donati... No pude con los procesos hijossss.... miraaa logre estoooo pero aun mo me gusta como keda...Manejando Señalesss #include <stdio.h> #include <stdlib.h> #include <signal.h> int car = 0; void manejo(int a) { /////////////////////pero esto no me funciona como kierooo ---- car = getchar(); ---- printf("car %d",car); ---- if(car == 1) ---- { -------- printf("\nFin del Programa..."); ---------- car=1; ---------} ----- else ----- car=0; //////////////////si dejo solo //car=1; ////////////si funciona se salee y yaaaaaaa pero kiero tener la opcion de decidir si me salgo o continuo......... } int main(void) { ----- int l = 0; ----- signal(SIGINT, manejo); ----- while( car != 1 ) ----- { ----- printf("%d.\n", l); ----- ++l; ----- l = (l + 1) % 60000; ----- } } |
Re: Ciclo infinito ... Hasta precionar una tecla Varias cosillas: POSIX no es parte del estándar de C. Tienes una etiqueta CODE para poner código. ¿Por qué escribes arrastrando la última letra de cada palabra? |
Re: Ciclo infinito ... Hasta precionar una tecla El tema sería que el proceso hijo fuera el que escribe en el fichero. Lo que podías hacer es que el padre simplemente cree el hijo y espere un enter. Al recibir el enter, envíe una señal de usuario (SIGUSR1 por ejemplo) al proceso hijo. La rutina debería ser algo de este estilo void rsSIGUSR1() {fin=1;} y la comprobación en el bucle de escritura while (!fin) |
Re: Ciclo infinito ... Hasta precionar una tecla Cita:
|
Re: Ciclo infinito ... Hasta precionar una tecla Cita:
|
| La zona horaria es GMT -6. Ahora son las 09:42. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.