Autor Tema: Realizar un pase de parámetros por referencia en CCS  (Leído 2141 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alev2477

  • PIC10
  • *
  • Mensajes: 21
Realizar un pase de parámetros por referencia en CCS
« en: 26 de Julio de 2014, 20:04:08 »
Saludos amigos

Estoy haciendo un simple código para una función gets con timeout. Todo bien excepto que me esta volviendo loco el hecho de que no me funciona el pase por referencia como lo debe hacer en C.

Me explico quiero  llamar a la función timed_gets(buffer); donde buffer es un arreglo char de 15 elementos. He intentado las diferentes combinaciones para que en la función timed_gets() modifique a buffer y no lo he conseguido.

Aquí está la función

Código: [Seleccionar]
void timed_gets(char &s){
int i =0
while(!timeout_error ){
*s[i]=timed_getc();
if(*s[i]=='\r')
break;
}  timeout_error=FALSE;
  }


Cómo debe ser el parámetro que le envíe a la función ya que no me permite en ccs hacer esto por ejemplo: timed_gets(&buffer); me da error. para hacerlo así tengo la función declarada de la siguiente manera:

Código: [Seleccionar]
void timed_gets(char *s){
while(!timeout_error ){
s[i]=timed_getc();
if(s[i]=='\r')
break;
}  timeout_error=FALSE;
 }

Si hago el llamado timed_gets(&buffer[0])  si compila pero no me modifica a buffer.

Por favor si me podrían ayudar se los agradecería, no se si CCS lo permite o es que estoy obviando algo importante.
« Última modificación: 26 de Julio de 2014, 20:11:59 por alev2477 »
Al preguntar aprendo y al responder aprendo tambien

Desconectado alev2477

  • PIC10
  • *
  • Mensajes: 21
Re: Realizar un pase de parámetros por referencia en CCS
« Respuesta #1 en: 26 de Julio de 2014, 20:43:27 »
AHHHH que gallo soy yo  :oops: :oops: :oops:


Amigos me da verguenza jajaja. La el pase si funciona correctamente sólo que mi función tenia un detalle garrafal, que es que nunca incremento el contador del arreglo y siempre sobre escribe en la primera direccion.

Ya lo arregle, sólo incrementando el contador i. 
 :D
Al preguntar aprendo y al responder aprendo tambien

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Realizar un pase de parámetros por referencia en CCS
« Respuesta #2 en: 27 de Julio de 2014, 01:29:57 »
No tiene por que dar vergüenza. Todos hemos dado vueltas en círculos aún con problemas muy sencillos. Lo importante es no darse por vencido y trabajar sistemáticamente en encontrar el error.

Saludos
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Realizar un pase de parámetros por referencia en CCS
« Respuesta #3 en: 27 de Julio de 2014, 11:51:53 »
jajaj sí, y lo mejor es que cuando uno explica el problema a alguien más es cuando el problema toma sentido y solución :P

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Realizar un pase de parámetros por referencia en CCS
« Respuesta #4 en: 27 de Julio de 2014, 14:14:15 »
Muy cierto amigos, ¡cuantas veces he vivido lo mismo!

Con tan solo tener que estructurar el problema para poder expresarlo con claridad aquí en el foro me ha sido suficiente para encontrar la solución.

Es el Power-Forum que soluciona los problemas antes de plantearlos ja, ja, ja  :D :D :D  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Realizar un pase de parámetros por referencia en CCS
« Respuesta #5 en: 27 de Julio de 2014, 16:41:49 »
jajajaj

Sí, me ha pasado mucho aquí también. Cuando era moderador... borraba mis temas después de publicarlos y auto-obtener la solución jajaj Ahora me aguanto la pena.  :P