en el buscar no se pq no me entra al if para comparar si esta o no esta la frase en la lista
si alguien me puede ayudar
a y si me pueden mandar un ejemplo o de donde sacar operaciones de lista con char (buscar, recorrer, imprimir, eliminar , borrar etc...)
gracias les dejo mi codigo.
pd: no olvidar colocar que archivo van a abrir
#include <stdio.h>
#include <string.h>
#include <conio.h>
typedef struct _ListaDoble
{
char reglon[120] ;
struct _ListaDoble *sig , *ant ;
int largo ;
}ListaDoble ;
void muestra(ListaDoble *t);
int buscar(ListaDoble *L, char *s,int num);
ListaDoble *Insertar(ListaDoble *L, char *s)
{
if ( L == NULL )
{
L = new ListaDoble ;
L->largo = strlen(s);
strcpy(L->reglon,s);
L->sig = NULL ; L->ant = NULL ;
return L;
}
else
{
L->sig = Insertar(L->sig,s);
L->sig->ant = L ;
return L;
}
}
int main()
{char frase[50];
FILE *fp;
ListaDoble *texto;
ListaDoble *L;
char linea[740];
char letra;
int i;
texto = NULL ;
fp = fopen("c:\\pruebas.cpp","r");// puedes colocarle cualquier archivo
i=0;
while ( !feof(fp) )
{
while ( (letra != '\n') && ( !feof(fp)))
{
fscanf(fp,"%c",&letra);
linea[i++] = letra ;
}
linea
='\0';
letra = ' ';
i=0;
texto = Insertar(texto,linea);
}
fclose(fp);
muestra(texto);
gets(frase);
printf("\n\n");
buscar(texto, frase,0);
printf("\n\n");
muestra(texto);
getch();
return 0;
}
int buscar(ListaDoble *L, char *s,int num)
{printf("%s",s);
if (L=NULL)
{printf("%d --> entro a buscar\n",num );
if (L->reglon==s)
printf("esta");
return buscar(L->sig,s, num+1);
}
printf("no esta");
}
void muestra(ListaDoble *texto)
{
int num=1;
while ( texto != NULL )
{
printf("%d --> %s",num,texto->reglon); num++;
texto = texto->sig;
}
}