Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    3

    [c] segmentare parole prese da un file

    Salve a tutti,
    sapreste dirmi come si fanno a spezzettare le parole di una frase che prendo in input da un file e stamparle a video.. poi ognuna di essa(parola) mi serve per metterla in una lista e contare quante volte viene ripetuta la stessa parola...
    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Proponi la tua soluzione, e saremo ben felici di aiutarti in caso di difficoltà.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    3
    ECCO la mia soluzione... la funzione aspettoparola mi da la prima parola poi nel suo return faccio x+1 cosi mi sposto il puntatore all inizio della prossima parola ma quando chiamo la funzione sulla prossima parola mi da errore nell if...

    char aspettaparola(char *x);
    int main (int argc, const char * argv[]) {

    char A[100];
    char *ch;
    int *max;
    int i;
    int numero = 10;

    /* dichiara lo stream e il prototipo della funzione fopen */
    FILE *stream;
    /* apre lo stream del file */
    stream = fopen("prova.txt", "r");
    int allocati;
    ch = fgets(A, 100, stream);
    char *prossima;
    max = (int *) malloc(sizeof(int) );
    for(i=0;i<=5;i++){
    max[i] = i;
    printf("%d \n",max[i]);
    }



    prossima = aspettaparola(ch);
    fclose(stream);
    return 0;
    }
    char aspettaparola(char *x){
    int i ;
    for (i = 0;i<100; i++) {

    if(x[i] != ' ')
    printf("%c",x[i]);
    else
    break;
    }
    printf("\n");
    return x[i+1];

    }

  4. #4
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    non puoi usare cose semplici??

    se leggi l'intero file con fscanf prelevi dal file una parola alla volta
    legge fino a quando incontra uno spazio o \n


    codice:
    
    FILE *stream;
    
    stream=fopen("prova.txt","r");
    while(!=feof(stream))
    {
    
             fscanf(stream,"%s",parola);
             puts(parola);
    
    
    }
    
    fclose(stream);
    Tecnologia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.