C/Visual C - Parece una pavada...

 
Vista:

Parece una pavada...

Publicado por Favi (2 intervenciones) el 09/07/2005 02:15:16
Hola, se que parece una pavada pero no puedo inicializar una cadena de caracteres en algo vacío.
Por ejemplo si la uso para guardar la palabra "despacito", y luego le asigno la palabra "casa", va a mostrarme
"casaacito".
El programa se basa en buscar ESA palabra en un archivo, asique como se imaginarán, no me funciona.
Espero recibir ayuda.
Gracias.-
Favi
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:Parece una pavada...

Publicado por King (18 intervenciones) el 09/07/2005 06:52:21
hola

en lugar de usar char* utiliza la clase String, dentro de

include < string >

(sin el .h)

saludos

King
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:Parece una pavada...

Publicado por Ismael (230 intervenciones) el 09/07/2005 13:23:33
Utiliza la función memset( )
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:Parece una pavada...

Publicado por Charly (12 intervenciones) el 09/07/2005 16:47:35
Si utilizar un char de x caracteres no es mas que un arreglo asi que puedes inicializar la primera posicion a un nulo cadena[0] = '\0'
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:Parece una pavada...

Publicado por Franco Cedillo (36 intervenciones) el 16/07/2005 09:55:50
Hola,
No me parece bueno eso de que le asigne otra cadna y se mantengan los caracteres sobrantes.
¿Así maneja C++ las cadenas? No creo.
¿Si asigno "vacía" a una cadena que tenía "cinco_llena" quedaría "vacia_llena"?
Voy a probar.
Saludos.
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:Parece una pavada...

Publicado por favi (2 intervenciones) el 18/07/2005 14:42:46
por eso decia que parece una pavada.. pero tengo que hacer un program que se basa en una busqueda en un diccionario, y la variable que va guardando la palabra a buscar me guarda "basura".
ya intente mil, la proxima me vengo al ciber con la copia del programa.
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:Parece una pavada...

Publicado por Charly (12 intervenciones) el 18/07/2005 17:11:53
Si la variable la estas inicializando de los datos de un archivo entonces no es la inicializacion el problema sino la forma como estas leyendo la informacion del archivo
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:Parece una pavada...

Publicado por fernando.gomez (1603 intervenciones) el 18/07/2005 18:00:36
No entiendo tu problema. ¿Cómo demonios le asignas a la cadena sus valores? Si las asignas con strcpy et. al., éstas se encargan de insertarte el nulo donde corresponde, y no importa si lo que sigue es basura, cuando la leas se detendrá en el nulo. ¿O cómo estás leyendo la cadena? strcmp, strcat, etc, todas distinguen el nulo.

Ahora, si empleas las de memoria: memset, memcpy, memcmp, etc, pues estas no distinguirán el nulo, y entonces vale gorro todo.

Si trabajas en C++, deberías emplear std::string.
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