Lettura stringa da file

di il
4 risposte

Lettura stringa da file

Salve ragazzi, non riesco a capire un problema riguardo un esercizio. su un file ho una serie di parole su due rughe differenti di cui alcune iniziano con maiuscola altre no... nella prima riga ho 'Dramma soprattutto Palla Illusione', nella seconda 'Cappello osso imbuto'... io dovrei stampare solamente le parole che iniziano con la lettera maiuscola ed eliminare delle eventuali doppie lettere... le parole con la lettera maiuscola riesco a stamparle, però mi da un piccolo errore nella stampa...questo è il codice fino ad ora (riguardo l'eliminazione delle doppie devo ancora farlo)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 200

FILE *aprifile(char[]);
void leggifile(FILE*,char[]);

int main(int argc, char** argv) {
    FILE *fp,*ff;
    char nomi[N];
    printf("Inserisci il nome del file da leggere: ");
    fp=aprifile("r");
    printf("Inserisci il nome del file su cui scrivere: ");
    ff=aprifile("w");
    leggifile(fp,nomi);
    
    
    
    fclose(fp);
    fclose(ff);
    return (EXIT_SUCCESS);
}

FILE* aprifile(char mode[]){
    FILE* p;
    char nome[N];
    scanf ("%s",nome);
    if((p=fopen(nome,mode))!=NULL){
        return p;
    }
}

void leggifile(FILE* p,char n[]){
    int i=0;
    while(!feof(p)){
        fgets(n,N,p);
        for(i=0;i<strlen(n);i++){
            if(n[i]>='A' && n[i]<='Z'){
                while(n[i]!=' '){
                    putchar(n[i]);
                    i++;
                }printf(" ");
            }
        }
    }
}
    
il risultato che genera è

Dramma Palla Illusione
@? Cappello

non capisco cosa sono i segni davanti a 'Cappello'... invece come posso fare per eliminarli, o anche scrivere tutto sula stessa riga?

4 Risposte

  • Re: Lettura stringa da file

    Guarda che l'ultima parola non termina con spazio quindi la while non termina ...

    Ti consiglierei di seguire un'altra strada e usare la funzione strtok
  • Re: Lettura stringa da file

    Mhhh...purtroppo nel corso che ho seguito la prof non l'ha mai nominata e non so come funziona la strtok...
  • Re: Lettura stringa da file

    Un po' di iniziativa, insomma!
  • Re: Lettura stringa da file

    saba ha scritto:


    Mhhh...purtroppo nel corso che ho seguito la prof non l'ha mai nominata e non so come funziona la strtok...
    Se non la puoi usare tieni comunque presente che l'ultima parola potrebbe non terminare con spazio e modifica il tuo codice
Devi accedere o registrarti per scrivere nel forum
4 risposte