En esta parte dices que la variable "registro" es un
apuntador.... pero no me dices si es un apuntador
DIRECTO a una cadena ( en cuyo caso el codigo esta
mal) o un array de apuntadores ( para los no iniciados
en C, un array de cadenas).
Puedes identificar uno de otro porque el apuntador
directo a cadena puede ser declarado asi:
char *apuntador;
en donde le puedes asignar no la variable, sino el
apuntador de otra cadena.
Ej:
char *cadena[]="Hola";
char *apuntador;
apuntador = cadena;
LO SIGUIENTE ES RIESGOSO, HAY QUE VERIFICAR QUE
APUNTADOR TENGA UNA DIRECCION VALIDA PARA ALMACENAR
INFORMACION:
strcpy( apuntador, cadena);
-------------------
Lo siguiente es para apuntadores indirectos: ( o
arrays de cadenas);
estos los identificas por el doble indireccionamiento.
char **arr_cad;
Un ejemplo lo encuentras en los parametros de entrada
al main() en cualquier programa en C,
int main( char *argv[], int argc){
}
En donde *argv[], es un apuntador a a puntadores ( o
array de cadenas).
Para asignar un valor a una cadena puedes hacer esto:
int main( char *argv[], int argc){
char cadena[40];
strcpy( cadena, argv[0]);
al reves tambien se vale.
-------------------------------------------------
Por supuesto si se requiere algo de conocimiento de
apuntadores y sintaxis de C (que es brutalmente
flexible, aunque tambien compleja) para trabajar con
estas cuestiones. Por supuesto puedes usar Perl. ( o
python, o TCL, o lo que sea). Todo en funcion de tus
necesidades.
=)
--- Abel Hernandez Zanatta
<[EMAIL PROTECTED]> wrote:
> El problema de C, es que si no sabes bien el manejo
> de apuntadores y de
> asignaciones de memoria vas a tener ese tipo de
> problemas.
> Yo he usado muy poco el C, y precisamente por
> problemas de ese tipo, la
> verdad se necesita mucha experiencia usando el C y
> sobre todo con el
> manejo de memoria para que cosas como esas no te
> pasen...
>
> Creo que para lo que quieres, seria muchisimo mas
> facil que usaras Perl,
> ademas de que te simplificarias la vida.
>
> Claro igual y lo quieres hacer en C, pero te aseguro
> que con Perl va a
> batallar mucho menos.
>
>
> Jorge Alberto Delgado Barreto wrote:
> >
> > efectivamente son apuntadores, la variable
> registros es tipo apuntador,
> > haber si le entiendes a mi codigo ...
> >
> > if (mysql_query (&repositorio, "select
> Fecha_Emision, Documento,
> > Sucursal, Importe_Documento, IMP1, IMP2, IMP3,
> IMP4, Costo_Total_Doc
> > from documentos_cliente where Fecha_Emision >=
> '2003-07-01' order by
> > Fecha_Emision, Sucursal, Documento"))
> > { printf (mysql_error (&repositorio)); return
> 0; } resultado =
> > mysql_store_result (&repositorio);
> > char fecha[8]; char documento[2];
> > while (registros = mysql_fetch_row
> (resultado))
> > {
> > strcpy (fecha, registros[0]);
> > strcpy (documento, registros[1]);
> > printf ("'%s' '%s' \n", fecha, documento);
> // aqui es donde
> > chafea ...
> > break;
> > }
> >
> > saludos ...
> >
> >> From: BSDero <[EMAIL PROTECTED]>
> >> Reply-To: Lista del GUL*Ags
> <[EMAIL PROTECTED]>
> >> To: Lista del GUL*Ags
> <[EMAIL PROTECTED]>
> >> Subject: Re: [gulags] GCC ...
> >> Date: Thu, 9 Oct 2003 14:51:04 -0700 (PDT)
> >>
> >> Habra que ver cuales son los tipos de datos que
> estas
> >> usando.... a veces cuando se usan aputadores, se
> llega
> >> a este tipo de errorcillos....
> >>
> >> No me podras enviar el programa completo para
> >> revisarlo?
> >>
> >> BSDero
> >>
> >> --- TSUI Jorge Alberto Delgado Barreto
> >> <[EMAIL PROTECTED]> wrote:
> >> >
> >> > Que honda linuxeros yo denuez, es una pregunta
> de
> >> > programacion pero ahora de gcc, tengo una
> rutina que
> >> > hace la copia de un variable en otra variable,
> es lo
> >> > siguiente:
> >> >
> >> > sprintf (fecha, "%s", registros[0]);
> >> > printf ("La fecha = %s", fecha); // Aqui si me
> >> > imprime la fecha
> >> > sprintf (documento, "%s", registros[1]);
> >> > prtintf ("La fecha %s y el documento %s",
> fecha,
> >> > documento); // Aqui ya no me imprime la fecha
> pero
> >> > el documento si ...
> >> >
> >> > ya lo intente con:
> >> >
> >> > strcpy (fecha, registros[0]);
> >> > strcpy (documento, registros[1]);
> >> >
> >> > y hace lo mismo, por que estara haciendo esto
> ???
> >> >
> >> > Saludos ...
> >> >
> >> > TSUI Jorge Alberto Delgado Barreto
> >> > Tel. 0-444-49-9120517
> >> > correo-electrónico [EMAIL PROTECTED]
> >> >
> >> > if you cannot convince them, confuse them.
> >> > -- Harry S. Truman
> >> > _______________________________________________
> >> > Mailman mailing list
> >> > [EMAIL PROTECTED]
> >> >
> http://gulags.homelinux.org/mailman/listinfo/mailman
> >>
> >>
> >> __________________________________
> >> Do you Yahoo!?
> >> The New Yahoo! Shopping - with improved product
> search
> >> http://shopping.yahoo.com
> >> _______________________________________________
> >> Mailman mailing list
> >> [EMAIL PROTECTED]
> >>
> http://gulags.homelinux.org/mailman/listinfo/mailman
> >
> >
> >
>
_________________________________________________________________
> > MSN. Más Útil Cada Día http://www.msn.es/intmap/
> >
> > _______________________________________________
> > Mailman mailing list
> > [EMAIL PROTECTED]
> >
> http://gulags.homelinux.org/mailman/listinfo/mailman
> >
>
>
> --
> Ing. Abel Hernandez Zanatta
> Isssspea
> Soporte Tecnico y Redes
> 01(449)910-2080 ext. 3835 01(449)910-2081 Cell 044
> 449 4486118
>
> _______________________________________________
> Mailman mailing list
> [EMAIL PROTECTED]
> http://gulags.homelinux.org/mailman/listinfo/mailman
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com