C/Visual C - Ayuda con ASCII

 
Vista:

Ayuda con ASCII

Publicado por Manuel (4 intervenciones) el 31/12/2006 13:04:07
Buenas, necesito ayuda con una consulta que les voy a hacer, para mí es muy importante:

Necesito saber el código ASCII de las letras de una cadena, pero no para mostrarlo en pantalla si no para operar con ellos, también necesito transformar estos códigos ASCII de nuevo en letras para almacenarlos en otra cadena.

Si alguien me pudiera contestar con un ejemplo se lo agradecería mucho, es para un trabajo de la universidad y no sé como hacer esta parte.

Ante todo, muchas gracias a todos
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:Ayuda con ASCII

Publicado por JuanC (57 intervenciones) el 31/12/2006 17:24:50
Fijate si esto funciona... (no lo probe)

#include <string.h>

int i;
char cad[10], cad2[10];

for(i=0; i<strlen(cad); i++)
cad2[i] = cad[i] + n; //La suma deberá dar entre 1 y 255

cad2[i] = '\0';

Saludos desde Baires, JuanC
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:Ayuda con ASCII

Publicado por Manuel (4 intervenciones) el 02/01/2007 09:33:56
Muchas gracias. Una pregunta sobre este código:

int i;
char cad[10], cad2[10];

for(i=0; i<strlen(cad); i++)
cad2[i] = cad[i] + n; //La suma deberá dar entre 1 y 255

cad2[i] = '\0';

n, es del tipo int, correcto?
y en cad2[i] se almacena el chr del ascii de cad[i] sumándole n, no?
entonces, si yo igualo a un int un char[i], en el int se almacena el ascii del char[i]?
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

RE:Ayuda con ASCII

Publicado por JuanC (57 intervenciones) el 02/01/2007 10:31:49
n puede ser int o char
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:Ayuda con ASCII

Publicado por Manuel (4 intervenciones) el 02/01/2007 12:13:01
El caso concreto es el siguiente:

numASCII = cadenaASCII[i] + patronASCII[j];
if (numASCII >= 255)
numASCII = numASCII - 255;
cadenaPasada[i] = numASCII;

numASCII es un entero, suma de dos códigos ASCII anteriores, cadenaASCII[i] + patronASCII[j], que son dos arrays de enteros.

cuando asigno cadenaPasada[i] = numASCII, donde cadenaPasada[i] es un array de char, se me queda colgado...

como tendría que hacer para guardar en cadenaPasada[i] el carácter del ASCII con número numASCII

Gracias por tu ayuda
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:Ayuda con ASCII

Publicado por Tom (619 intervenciones) el 02/01/2007 15:00:58
No creo que se te quede colgado sólo por eso. Más bien pienso que cuando haces cadenaPasada[i] = ... estás sobrepasando la capacidad del array (i vale más que el tamaño de cadenaPasada).

Pero, por si no tengo razón, prueba:
cadenaPasada[i] = (char)numASCII;
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:Ayuda con ASCII

Publicado por mawel (4 intervenciones) el 02/01/2007 17:22:11
Gracias, ahora parece que sí funciona, era porque excedía el tamaño del array, muchas gracias por todo.
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