Hola tengo un problema con el siguiente código pero no logro averiguar por qué ocurre, básicamente es un fallo de segmentación con una variable tipo string llamada cad, aquí proporciono el código:
FILE *file;
string cad;
char cosa[15],*a,*b,x;
int n,cont=0,i=0,j=0,band=0;
file=fopen("compilador09b.lr","r");
fgets(cosa,20,file);
n=atoi(cosa);
int idRegla[n],lonRegla[n];
string strRegla[n];
while(cont<n){
fgets(cosa,20,file);
a=strtok(cosa,"t");
b=strtok(NULL,"t");
cad=strtok(NULL,"tn");
idRegla[cont]=*a-48;
lonRegla[cont]=*b-48;
strRegla[cont]=cad;
cont++;
}
No es el código completo pero en la parte subrayada es donde ocurre el error, lo que hace el algoritmo básicamente es leer un archivo y en base a los datos que tiene crea varias matrices con las especificaciones del archivo. Es cara generar la tabla LR en un analizador sintáctico. Gracias por la atención.
EI: juntando mensajes.Disculpen olvidé subrayar la línea en cuestión, es la siguiente
cad=strtok(NULL,"tn");