C/Visual C - Ayuda con el retorno de una cadena

 
Vista:

Ayuda con el retorno de una cadena

Publicado por Carlos (2 intervenciones) el 23/12/2002 22:09:16
Hola a todos:
1.- Estoy trabajando con archivos planos que pasarán cadenas de variable a variable. Que puedo utilizar para pasar parámetros de una variable a otra ?.
2.- Por otro lado, esta variable contendrá una cadena con caracteres capturados por lo que la cadena vendrá cortada por vacíos al inicio o al final, como podría hacer para recortar estos vacios y trabajar solamente con los caracteres con los que quiero trabajar. En pocas palabras, que los caracteres que con los que quiera trabajar se convierta en una subcadena independiente?
Realmente me harían un gran favor al contestar. Estoy trabajando con ANSI C así que tengo que generar mis propias rutinas. Gracias y mis saludos.
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 el retorno de una cadena

Publicado por El Mogur (202 intervenciones) el 25/12/2002 14:21:53
Para trabajar con cadenas en C, se utiliza tradicionalmente el array de caracteres terminados con '\0', y/o el puntero a caracter (char *), pidiendo memoria dinámica para guardarla.
Lo normal para pasar cadenas a funciones es utilizar el char *, aunque luego puede llamarse con un array.
En ANSI C, existen funciones de tratamiento de cadenas (strcmp, strcpy), que podrías usar.
Si supieras el tamaño máximo de cada cadena (y no es mucho), lo más cómodo de programar son las matrices estáticas; si no lo sabes, o lo quieres hacer bien, deberías utilizar memoria dinámica para guardar las cadenas, y cada vez que cambie de tamaño (porque cortas caracteres), pides memoria para la 'nueva' cadena, y destruyes el de la vieja.
Y si te quieres complicar mucho más, puedes hacer un tipo de datos (vamos, en C una estructura), que 'emule' la clase string de C++, y que sea ella la que tenga el char * pedido con memoria dinámica, y gestione las funciones de manipulación la gestionen. Así, puedes evitar tener que pedir/destruir memoria dinámica cada vez que cambias la cadena.

Espero que te sirva!
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