Colección de citas famosas - Slogan de motivación - c diccionario de gramática

c diccionario de gramática

De hecho, es más fácil leer la línea completa con get y luego procesarla. El uso de getc aquí hace que el programa sea complejo y propenso a errores.

Te daré un ejemplo para tu referencia, echa un vistazo a las notas e intenta entender:

# include & ltstdio.h & gt

# include & ltstring.h & gt

Struct WORD_FOUND //Estructura utilizada para almacenar resultados.

{

char SZ palabra[256];

int nCount

};

PALABRA _ ENCONTRADA g _ PALABRA ENCONTRADA [100] = { { " ", 0 } }

int g _ n coincidencia = 0

int main()

{

char SZ texto[1024];

char SZ palabra[512];

ARCHIVO * fp

int I;

If ((FP = fopen ("case 1. in "," r ")== null)//Abre el archivo.

{printf("Error"); return 1 ;}// Genera un error si no se puede abrir

While (fgets (sztext, sizeof (sztext)-1, FP))// Lea la línea completa aquí, que es más efectivo y menos propenso a errores p>

{

char *tmp=szText, * end = SZ text+strlen(SZ text);

char * endChr

mientras( tmp & lt; fin)

{

mientras(* tmp = = ' ' | | * tmp = = ' \ n ' | | * tmp = = ' \ t ') tmp++; //Saltar espacios aquí

endChr = tmp

while(* end chr & amp;& amp*endChr!= '\n' & amp& amp *endChr! = ' \ r ' & amp& amp*endChr! = ' ')end chr++ //Encuentra el siguiente espacio aquí

memset(szWord, 0, sizeof(SZ word));

strncpy(szWord, tmp, end chr-tmp); //Los caracteres encontrados se almacenan en szWord.

bool bFound = false

for(I = 0). ; i. & ltg _ nMatchI++)//Encontrar el carácter encontrado

{

If (strcmp (g _ wordfound [i].szword, SZ word)= = 0) //Si coincide,

{

g_WordFound[i]. ncount++; //Agregar 1

bEncontrado = true

Romper;

}

}

Si ( ! Encontrado y encontrado. & ampstrlen(szWord)>0) //Si no hay coincidencia, almacena el carácter en g_WordFound.

{

strcpy(g_WordFound[g_nMatch]). szWord, palabra SZ);

g_WordFound[g_nMatch].

ncount++;

g _ n match++;

}

tmp = endChr

if(tmp & gt; = end)break;

}

}

//Imprimir resultados aquí

for(I = 0;I<g_nMatchi++)

{

printf("%s = %d\n ", g_WordFound[i]. szWord, g_WordFound[i]. nCount

}

); Devuelve 0;

}