Ciao, ho un problema con l'ordinamento delle stringhe in un file.
Ho un file di testo ordinato in ordine alfabetico, tale file è un dizionario. Io dovrei inserire delle parole in questo dizionario, il problema è che nn riesco ad inserire in ordine alfabetico ma vengono inserite alla fine del file e non ho idea di come posso ordinare un file.
Ho provato a copiare il file in una lista ma è troppo grande, ci mette più di un'ora per eseguire tutto il programma.
Vi posto il codice che ho utilizzato per l'inserimento delle parole nel file:
Codice PHP:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char vocabolo[40];
char parola[40];
char scelta;
FILE *fp;
printf("Inserire parola:\n");
scanf("%s", parola);
if((fp = fopen("zingarelli2005.txt", "r+")) == NULL)
printf("Impossibile aprire il file.\n");
else{
while(!feof(fp)){
fscanf(fp, "%s", vocabolo);
if(strcmp(parola, vocabolo) == 0){
printf("\ntrovata\n");
break; }
}
if(strcmp(parola, vocabolo) != 0){
printf("parola non trovata\n");
printf("vuoi inserire la parola(Y/N)?\n");
scanf("%c%c", &scelta, &scelta);
if(scelta == 'Y')
fprintf(fp, "%s\n", parola);
}
fclose(fp);
}
system("PAUSE");
return 0;
}