c recorre un diccionario
Dame un ejemplo para tu referencia, mira los comentarios e intenta entender:
# include & ltstdio.h & gt
# include & ltstring .h & gt
Estructura WORD_FOUND //Estructura utilizada para almacenar resultados.
{
char SZ palabra【256】;
int nCount
};
PALABRA _ ENCONTRADA g _ PALABRA ENCONTRADA【100】= { {"", 0 } };
int g _ n partido = 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 (SZ text, sizeof (SZ text) -1, FP) // Lea la línea completa aquí, lo cual es más eficiente. y no es fácil.
{
char *tmp=szText, * end = SZ text+strlen(SZ text);
char * endChr<. /p>
mientras(tmp<end)
{
mientras(*tmp = =''| | *tmp = ='\n'| | *tmp = =' \t')tmp++; //Saltar espacios aquí
endChr = tmp
mientras (* end chr & amp; & amp*endChr!='\ n'& amp ;&*endChr!='\r'&&*endChr!="")end chr++;//Encuentra el siguiente espacio aquí
memset(SZ word, 0, sizeof(SZ word));
strncpy(SZ word, tmp, end chr-tmp); //Los caracteres encontrados se almacenan en szWord.
bool bFound = false
p>for(I = 0;i<g_nMatchi++) //Encuentra el carácter encontrado
{
if(strcmp(g_word found[I]] . szword, SZ word == 0) / /Si coincide,
{
g _ palabra encontrada [I]. ncount++; //Agregar 1
bEncontrado = true
Romper;
}
}
Si ( !b fund&&strlen(SZ word)>0) //Si no hay coincidencias, almacena el carácter en g_WordFound.
{
strcpy(g_word encontrado【g_n match】.szWord,SZ word);
g_word encontrado【g_n match】 】.
ncount++;
g_n match++;
}
tmp = endChr
if (tmp & gt; = end) break ; p>
}
}
//Imprimir resultados aquí
for(I = 0;I<g_nMatchi++) p>
{
printf("% s = % d\n",g_palabra encontrada[I].szWord,g_palabra encontrada[I].nCount);
}
Devuelve 0;
}