Autor Tema: Listas en Ccs y consultas varias.  (Leído 4705 veces)

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

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Listas en Ccs y consultas varias.
« en: 16 de Enero de 2012, 08:08:11 »
No he encontrado librerías estándar para trabajar con listas.
Quisiera que me confirmaran que no existen.
« Última modificación: 10 de Marzo de 2012, 22:23:17 por dogflu66 »
Saludos desde Granada, España.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: LISTAS EN C
« Respuesta #1 en: 16 de Enero de 2012, 09:50:58 »

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: LISTAS EN C
« Respuesta #2 en: 16 de Enero de 2012, 10:42:47 »
Hola dogflu66. Si te refieres específicamente al ANSI C, K&R especifica que no posee ningún tipo de dato contenedor, ni los más básicos como listas, pilas, colas. Hay librerías escritas en C estándar para trabajar con ellas, pero en la librería estándar tal vez lo mas próximo este en string.h.

Estimado stk500, le pasaste un enlace a una 'lista de ejemplos', no un 'ejemplo de lista'  :lol:
@fabianjsm is on twitter

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: LISTAS EN C
« Respuesta #3 en: 16 de Enero de 2012, 11:46:31 »
Esa es la librería estándar para trabajar con cadenas (string) y yo lo que necesito es trabajar con vectores de cadenas o listas, ósea, un vector que contiene múltiples string completos (nodos), ojo no confundir con concatenación o suma de cadenas. Bueno, no hay problema, ya tengo las librerías escritas para otro lenguaje, es tan solo adaptarlas al nuevo. Lo que ocurre es que siempre me gusta trabajar en el estándar si es posible. Gracias.
Saludos desde Granada, España.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: LISTAS EN C
« Respuesta #4 en: 16 de Enero de 2012, 14:55:42 »
Si, yo tambien echo de menos las listas del C++, pero para un pic consumiria demasiados recursos, tanto de ram como rom

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: LISTAS EN C
« Respuesta #5 en: 17 de Enero de 2012, 08:30:20 »
Hola dogflu66. No te sugerí string.h para trabajar con listas, perdón si se entendió eso.
Lo que quise decir es que la librería nativa del ANSI C (libc) no brinda soporte para listas, pero hay muchas librerías (de terceros) escritas en C estándar para trabajar con ellas.
Por ejemplo SimCList; es una libreria para trabajar con listas enlazadas bien documentada, estable y ANSI C (mij.oltrelinux.com/devel/simclist). Es muy pequeña y fácil modificarla para que se adapte a tus necesidades. Necesitas para trabajar con PIC's o una aplicación para PC?
@fabianjsm is on twitter

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: LISTAS EN C
« Respuesta #6 en: 17 de Enero de 2012, 19:22:32 »
No hay nada que perdonar.
Es para trabajar con Pic.
Totalmente de acuerdo trabajar con funciones para operar con cadenas y listas consume gran cantidad de ambas memorias, pero la comodidad que ofrecen es magnifica, todo está en poder elegir el microcontrolador adecuado.
Saludos desde Granada, España.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: LISTAS EN C
« Respuesta #7 en: 17 de Enero de 2012, 21:11:36 »
El problema seria que el mismo compilador no lo soporta, el compilador no soporta ningun operador de c++ (ya probe algun comando por si las moscas pero no lo reconoce), es decir si quisieras hacer un if(string1==string2) no lo podrias hacer ya que el mismo compilador no te admitiria crear una clase con operando '==', o el tipico string1=string2 + "hola" + string3; tampoco admitiria el operador '+'. Asi como todas las funciones del C++, sin embargo muchas otras cosas como string->push("lista"); o cosas asi si podrias hacerlo creando tu propia libreria o buscando alguna que ya la tenga, pero no mas alla de eso.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: LISTAS EN C
« Respuesta #8 en: 19 de Enero de 2012, 09:31:07 »
Ok, ire probando a ver que sale. :)
Saludos desde Granada, España.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: LISTAS EN C
« Respuesta #9 en: 29 de Febrero de 2012, 21:21:23 »
La siguiente expresión es compilada en CCS sin errrores, pero no me funciona:

If (receive == "+") { .... }

Para que funcione hay que colocar directamente el valor del código ASCII:

If (receive == 43) { ... }

No tiene mucha importancia, mas bien aclaratoria. Solo quería saber si solo en CCS es donde no funciona.
Saludos desde Granada, España.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: LISTAS EN C
« Respuesta #10 en: 29 de Febrero de 2012, 22:15:02 »
Debe ser '+'. Sino es un string
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: LISTAS EN C
« Respuesta #11 en: 01 de Marzo de 2012, 01:52:39 »
¡Hombre, Don Carlos!, me alegro que hayas decidido dar el salto al lado oscuro del C desde el Basic. Un abrazo

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: LISTAS EN C
« Respuesta #12 en: 01 de Marzo de 2012, 20:54:26 »
Gracias Suky; ya lo he probado y si que funciona. De esta forma la función queda mucho más clara, porque busca string que comienzan por un determinado caracter, con una pequeña visual en la línea que contiene las comparaciones se identifica fácilmente a que comando hace referencia la línea.

¡Hombre, Don Carlos!, me alegro que hayas decidido dar el salto al lado oscuro del C desde el Basic. Un abrazo

Ja, ja, ja, estoy más ancho que pancho. Estoy que yo mismo me  ((:-)). Mi primer programita en C que ocupa 7k para el 18F2455. Todo funcionando a la primera, mis funciones de bases de tiempos basadas en el Timer1 con interrupciones, mi súper ringfuffer para la usart con interrupciones, las funcione de lectura del ADC, lectura de teclas, lcd, menús, uso de listas y muchas etcs más, ósea mis 50 paginas de código.

Un abrazo para ti tambien.
« Última modificación: 01 de Marzo de 2012, 20:57:27 por dogflu66 »
Saludos desde Granada, España.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: LISTAS EN C
« Respuesta #13 en: 05 de Marzo de 2012, 20:21:54 »
Para los que ya programamos en algún lenguaje distinto al C por un motivo u otro, y estudiamos C en tiempos remotos, dejo un enlace para la descarga de una lectura muy amena y completa sobre ANSI C que lo resume casi todo. Permitiendo un rápido refresco de la memoria.

<<<http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/ansic/leng_c.pdf>>>
Saludos desde Granada, España.

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: LISTAS EN C
« Respuesta #14 en: 05 de Marzo de 2012, 22:26:21 »
Muy bueno dogflu66. Me gustaría recordar la joyita que nos dejo DMR junto a Brian Kernighan, el clásico: El lenguaje de programación C.
@fabianjsm is on twitter