C/Visual C - Guardar en archivo líneas desde teclado

 
Vista:
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Nax (5 intervenciones) el 16/06/2016 09:40:28
Buenos Días a todos.
He ejecutado varios códigos para leer líneas desde teclado.
pero cuando pulso intro, sale de la lectura.

Alguien sabe algún código que permita un comportamiento similar al de un campo memo.
Es decir, que lea como cualquier procesador de textos.

Muchísimas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Guardar en archivo líneas desde teclado

Publicado por CHema (234 intervenciones) el 16/06/2016 19:45:58
Buenos Días a todos.
He ejecutado varios códigos para leer líneas desde teclado.

¿leer lineas desde el teclado? , no se me ocurre manera ni forma de realizar tal proeza. Laa cción que relatas, creo que solo un profesional del contorsionismo que actue en un circo es capaz de realizarla.


pero cuando pulso intro, sale de la lectura.

Alguien sabe algún código que permita un comportamiento similar al de un campo memo.

memo es sinonimo de tonto, un campo memo ¿Es un campo tonto?

Es decir, que lea como cualquier procesador de textos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Diego (150 intervenciones) el 16/06/2016 23:59:56
Jaja, tomo el comentario como critica constructiva.

Y en cuanto al campo memo es un tipo de dato de Ms Access.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar en archivo líneas desde teclado

Publicado por Chema (234 intervenciones) el 17/06/2016 00:54:50
No conozco al señor Ms Access ,Suena bien, Debe ser alguien importante con ese nombre.

Extraño se me antoja leer lineas desde el teclado, pero, Guardar en archivo líneas desde teclado me parece un chiste muy gracioso.

La precisión en el lenguaje es fundamental , de lo contrario la imaginación queda abierta a cualquier interpretación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Diego (150 intervenciones) el 17/06/2016 00:01:23
¿Te importaría dar algunas pautas del comportamiento que esperas?. Quizás un ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Guardar en archivo líneas desde teclado

Publicado por aguml (272 intervenciones) el 17/06/2016 08:26:07
Básicamente tienes que usar el código que has puesto y salir del bucle la pulsación por ejemplo de escape. Para guardar en un archivo lo abres en la primera línea del bucle, guardas en el archivo y cierras el archivo al final del bucle. O también puedes abrirlo antes del bucle y cerrarlo después de este.
Un Memo permite la edición del texto pero eso hacerlo directamente sobre la consola no es imposible pero nada fácil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Nax (5 intervenciones) el 17/06/2016 08:29:58
Gracias, Agustín.

Muy amable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar en archivo líneas desde teclado

Publicado por Chema (234 intervenciones) el 17/06/2016 13:27:03
Lo que denominas teclado = Standard input.

Leer "de un teclado" es una operación compleja, no sólo se "·escribe con teclados", existen diversos métodos de entrada de datos .

Lo que denominas linea = cadena de caracteres terminados en salto de linea o 0x0.

Lo que "llamas, leer del teclado" = leer de Standard input una cadena de caracteres.

Tienes muy pocos conocimientos y te la soberbia te sonríe., típico , demasiado frecuente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Diego (150 intervenciones) el 17/06/2016 16:48:41
En efecto, coincido con agustín. Chema es bastante activo en este foro y en varias ocaciones ha sacado de dudas a varios usuarios que están aprendiendo.
Y recordá.

El informático se caracteriza por su certeza. No cree saber; lo sabe o no. Si lo sabe, puede explicarlo, y si no lo sabe aprende.
Siempre tratamos de evitar las ambiguedades. Y si se presentan, se recaba información hasta tener clara la tarea que se deberá llevar a cabo.

En cuanto a tu problema, revisé la web y no encontré un codigo identico al que acabás de escribir. Encontré uno similar.
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main ()
{
  char cadena [100];
  printf ("Introduzca una cadena: ");
  fgets (cadena, 100, stdin);
  printf ("La cadena leída es: "%s"n", cadena);
  return 0;
}

Tal y como lo veo y lei esplicacion que dan en esa pagina, no veo incongruencia, al contrario, todo me suena bastante bien y lógico.

"¿Cómo se guarda el texto introducido por teclado en un archivo? "
Yo creo que lei en algún lado que la lectura y escritura normal en archivos es caracter a caracter. Pero como comienzo con archivos recién la semana que biene aún no estoy muy seguro de este punto.

"¿Se puede utilizar directamente el archivo stdin y leerlo para obtener el texto guardado en su interior, o hay que utilizar la cadena de texto con tamaño definido utilizada en la función fgets?"
--Idem--

En cuanto a:
"Pero en esencia quiero poder introducir texto por teclado y que al pulsar intro no se salga de la lectura, sino que haga salto de línea.
Que salga de otra manera"

"Yo" haría lo siguiente:
Mientras que el scanf de la cadena no diera EOF segir leyendo cadena. Dentro del bucle, con cada enter se generaría una cadena, gardaría esa cadena en el archivo(de la manera en que se haga), luego introduciria el salto de linea en el archivo manualmente. Y vuelvo a bucle.

El ejemplo que te estoy dando es en base al formato en el que veo el texto en mi cabeza.
Quizás quieras el texto en un formato(presentacion) distinto al que yo planeteo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar en archivo líneas desde teclado

Publicado por Chema (234 intervenciones) el 17/06/2016 18:19:16
C es un lenguaje muy sencillo, nosotros lo complicamos.
El lenguaje que usamos debe que ser lo más exacto posible, si el lenguaje no referencia claramente el concepto , aprender se complica en exceso.

Los S.O, al inicio, se ocupan de recoger todos los dispositivos de entrada y salida de datos (monitores teclados..etc) y los asocia a distintos buffer:

Dispositivos de entrada Standard input ( STDIN) .(teclados...)
Dispositivos de salida, Standard OUT (STDOUT). (monitor, terminal...)

Escribir en la pantalla = enviar cadena de caracteres a STDOUT,
Escribir con el teclado = leer de STDIN,

Visto de esta manera, queda claro que no necesitamos conocer el tipo de teclado ni monitor, se lee y escribe en un buffer con las mismas reglas que en un fichero.

No es lo mismo ;
leer desde un teclado y escribir en la pantalla, conceptos difusos que no especifican nada concreto.
leer de STDIN y enviar a STDOUT. esto es otra cosa muy diferente, los conceptos y las reglas son claras, conoces lo que haces y eso, estimados aspirantes a programadores, es muy importante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Nax (5 intervenciones) el 17/06/2016 20:28:40
OMMMMMMMMMMMMMMM. Que paciencia hay que tener. Dos mío. Con estos catedráticos de pacotilla.

ya pronto me hablarás de ondas gravitacionales en el buffer.

ya está hijo

que eso ya lo sé desde el principio
pero que vamos que si quieres refregarnos tu sabiduría, tú mismo...

que pesaito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
sin imagen de perfil

Guardar en archivo líneas desde teclado

Publicado por Nax (5 intervenciones) el 23/06/2016 11:57:55
Solucionado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char cadena [200] ;
  char cadacu [1000] ;
 
  printf("(Enter y Enter para salir) ");
  printf ( "Introduzca un texto: \n");
	do{
		fgets(cadena,1000,stdin);
		strcat(cadacu,cadena);
	}while(cadena[0]!='\n');
	printf ( "La cadena leída  es:\n%s",cadacu);
 
	return 0;
}

Ese es el comportamiento que buscaba.
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar