Buenas. Soy nuevo en este foro.
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:
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;
}
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.
Pueden darme alguna ayuda con esto?