Scrittura su file

di il
4 risposte

Scrittura su file

Salve, sono alle prime armi con il linguaggio C.
Vorrei creare un programmino stupido che mi apra un file di testo composto da successioni di 2 caratteri e un intero e se tale intero è diverso da un valore prefissato mi aggiorni il file con tale valore nel campo intero.

void ModificaFile(FILE* fp){

    int valore = 9;
    long pos;
    //elem x;
    char c1;
    char c2;
    int v;


    fp = fopen("C:/Users/Fabio/Desktop/distanze.txt","w+");

    if(fp==NULL){
        printf("Il file non esiste!!!\n");
        return;
    }
    else{
         //while(!feof(fp)){
        while (fscanf(fp,"%c %c %d",&c1,&c2,&v)!=EOF)
            printf("Bella\n");
            //pos = ftell(fp);
            //printf("%d\n",pos);
            //fread(&x,sizeof(elem),1,fp);
            if(v!=valore){
                printf("bella\n");
                fprintf(fp,"%d",valore);
                //pos = ftell(fp);
                //printf("%d\n",pos);
                //x.l = valore;
                //fwrite(&x,sizeof(elem),1,fp);
            }

        }

    fclose(fp);
}


main() {
    FILE *fp;
    ModificaFile(fp);

}
Qualche aiuto??

4 Risposte

  • Re: Scrittura su file

    Aiuto riguardo cosa? Qual è il problema?
    Il tuo codice compila o no? Si blocca? Esegue operazioni che non dovrebbe eseguire?
    Se vuoi essere aiutato, dacci qualche informazione in più
  • Re: Scrittura su file

    A compilare compila, ma non fa quanto richiesto sul file...
    Grazie
  • Re: Scrittura su file

    Non ho capito cosa dovrebbe fare il programma una volta che verifica che l'intero è diverso da quello prefissato. Potresti spiegarti meglio? Se non ti secca fai anche un esempio
  • Re: Scrittura su file

    Scusate, forse mi sono espresso male..
    Dunque il programma che vorrei implementare deve andare ad aprire un file di testo chiamato "distanze.txt"; il file del tipo:
    s r 6 t e 1 f g 9 e così via
    ovvero il pattern è del tipo: char char int.
    Ora io voglio che il programma apra il file, legga tutti i valori e appena trova un intero diverso da un certo valore (ad esempio 3) lo modifichi nel seguente modo:
    s r 3 t e 3 f g 3
    Spero di essere stato sufficientemente chiaro
Devi accedere o registrarti per scrivere nel forum
4 risposte