Mi problema es el siguiente: tengo un arreglo de caracteres que contiene cierta informacion que necesito. Quiero guardar cada "token" en una variable independiente, es decir, si mi arreglo contiene "rojo 100020201 A bebe", necesitaria guardar "rojo" en una variable, "100020201" en otra variable, y asi sucesivamente. No se nada sobre el manejo de arreglos de caracteres en C, asi que de esta forma se me ocurrio hacerlo:
Código:
Esos ultimos puts los he colocado para saber que valor tienen almacenadas las variables, pero me da errores de compilacion y no funciona. Es importante aclarar que necesito trabajar en C, no en C++, por lo que no puedo utilizar el tipo de datos string.int main () { char spa, linea1[50], var1[10], var2[20], var3[20], var4[10]; int cont1, cont2; FILE *arch; arch = fopen("archivo.txt", "r"); if (arch == NULL) { printf("Hay un error con ell archivo."); } else { fgets (linea1 , 50 , arch); fclose (arch); } //Hasta este punto ya he almacenado el valor de la primera linea del archivo en un arreglo de caracteres. cont1 = 0; cont2 = 0; spa = " "; while(cont1 <= 50){ if(linea1[cont1] == spa) { cont2 = cont2+1; } //Explico esta parte: el archivo tendra como maximo 4 tokens/palabras/eslabones adentro, midiendo la cantidad de espacios que he recorrido logro saber en que variable deberia estar concatenando. switch(cont2){ case 0: strcat(var1,linea1[cont1]); break; case 1: strcat(var2,linea1[cont1]); break; case 2: strcat(var3,linea1[cont1]); break; case 3: strcat(var4,linea1[cont1]); break; default: break; } cont1 = cont1+1; } puts (var1); puts (var2); puts (var3); puts (var4); return 0; }
Pueden darme alguna ayuda con esto?