Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2010, 14:20
vrael
 
Fecha de Ingreso: mayo-2007
Mensajes: 200
Antigüedad: 17 años
Puntos: 1
Exclamación Puñeteros Punteros y Strings en C

Hola, estoy teniendo quebraderos de cabeza con los punteros y las cadenas en C, a ver si algún alma caritativa me ayuda a aclararme :

Código:
void procesarCadena(char Nombre[], int* FechaI, int* FechaF, int Estados[], char cadena[]){

int aux[30];
int i=0;
int j=0;
int h=0;
while(cadena[i]!='\0'){
    switch(cadena[i]){
      case ';': Estados[j]=atoi(aux); j++; break;
      case '[': break;
      case ']': if(Nombre==null){
                    strcpy(Nombre, aux); 
                    aux[0]='\0';
                } 
                else if(FechaI == null){ 
                     FechaI=atoi(aux); 
                     aux[0]='\0';
                } else {
                       FechaF=atoi(aux);
                       aux[0]='\0';
                } 
                break;
      case '{': break;
      case '}': Estados[j]=atoi(aux); j++; aux[0]='\0'; break;
      default: aux[h]=cadena[i]; h++; break;
    }
}

int main(int argc, char *argv[])
{
    char* arrayL[12];
   
    char TipoProceso[80];
    int FechaI;
    int FechaF;
    int Estados[100];
    procesarCadena(TipoProceso, &FechaI, &FechaF, Estados, arrayL[0]);
    return 0;
}
Lo que estoy tratando de hacer es pasarle todas las variables del programa principal a la función procesarCadena por referencia para que los cambios queden registrados en las variables.

La función va recorriendo una cadena que se encuentra en un array de cadenas que yo le paso y va estrayendo los datos de ella y guardándolos en las variables correspondientes.

Preguntas:
¿Están bien pasadas las variables?
Es decir, cuando yo quiero pasar un array, lo único que tengo que hacer es poner el nombre ¿no?, porque así le estoy pasando el puntero a la primera posición del array. No necesita ampersan ni movidas raras.

¿Por qué narices no me compila?

Gracias al alma caritativa que me ayude y lo siento por el mensaje tan largo.
__________________
Blog: http://a-dream-of-dragon.blogspot.com