Como podría hacer para que me mostrara el contenido de una línea que el strtoken detecta ?, adjunto el .c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (){
int i,j;
char *token;
char arma[20],buffer[300];
FILE *objetos ;
objetos=fopen( "Objetos.txt" , "r" );
if (objetos == NULL){
printf( "Error en la lectura del archivo\n" );
}
else {//ENCUENTRA EL ARMA EN EL FICHERO
do{
printf("Introduzca el nombre del objeto\n");
scanf("%s",arma);
do{
fgets(buffer,300,objetos);
token=strtok(buffer,"/");
if (strcmp(arma,token)==NULL){
printf("Tiene estas carateristcas");
//mostrar caracteristicas aqui, quiero mostrar la linea que ha detectado el token
printf("¿Desea introducir otro objeto?\n Si==>1 No==>otra tecla\n");
scanf("%i",&j);
}
else{ printf("No se ha encontrado el objeto\n vuelva a introducir el nombre\n\n");
j=1;
}
}while(feof(objetos));
}while(j==1);
}
}
Lo primero, el código de tu programa colócalo entre etiquetas de código GeSHi (están encima del cuadro de texto cuando escribes o modificas un mensaje)...
Y creo que la forma más fácil sería sin usar <strtok()>. Tienes en <arma> el nombre que quieres buscar, y en <buffer> una línea que parece que empieza por el nombre del arma, seguido de "/" y de sus características.
Entonces puedes usar <strncmp()> para comparar <arma> con los <n> primeros caracteres de <buffer> (siendo n el tamaño de la palabra <arma>. Cuando coincida, muestra el <buffer> y se mostrará la línea completa.
Suerte :-X