C/Visual C - Carcteres en DOS

 
Vista:

Carcteres en DOS

Publicado por Nasón (40 intervenciones) el 25/02/2004 15:17:15
¿Por qué cuando en un programa utilizamos la orden printf o puts para escribir una cadena de caracteres, los que llevan tilde salen a la hora de la ejecución como cosas raras?¿Hay forma de solucionar esto?

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

RE:Carcteres en DOS

Publicado por J. Oliver Beltran (166 intervenciones) el 25/02/2004 15:59:16
¿Has intentado poner el codigo de la tabla ASCII correspondiente al carater en cuestion?
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

RE:Carcteres en DOS

Publicado por Nasón (40 intervenciones) el 25/02/2004 16:33:02
Sí, pero sigue apareciendo lo mismo. No se si cambiando la configuración del teclado a inglés o algo parecido funcionará, pero si lo hago tengo miedo de hacerme luego la picha un lío intentando buscar cosas como carácter de interrogación, etc, etc.

Gracias de nuevo
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

RE:Carcteres en DOS

Publicado por J. Oliver Beltran (166 intervenciones) el 25/02/2004 18:32:12
Ni metiendo el codigo en hexa? con el cáracter de escape? Es ese código el que suele dar problemas, ya que si no se verifica se confunde de tecla el buffer. Por ejemplo, si has hecho algun jueguecillo o utilidad en el que se utilicen los cursores, veras que si presionas, por ejemplo SHIFT + K, tambien se mueve (creo que esa combinacion era la derecha).
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

RE:Carcteres en DOS

Publicado por El Mogur (202 intervenciones) el 25/02/2004 19:30:17
Eso ocurre cuando utilizas un editor para el código fuente en windows, y el programa es en DOS. Hay una función para pasar cadenas de uno a otro, pero ahora no la recuerdo...

La forma de solucionarlo que creía válida no funciona, así que hay que hacer otra más rara.
Te haces un programa que imprima todos los códigos ASCII

for (int i = 32; i < 255; i++)
printf("%d: %c\t", i, i);

y así ves qué es lo que quieres sacar, por ejemplo que en MS-DOS, la ú es el 163.
Después, desde tu código editado en un editor de Windows:

printf("Este ejemplo es %cnico.\n", 163);

La solución no me gusta, y me parece MUY MUY tediosa, pero así de primeras, y para algo corto, puede servir.

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