Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Una cosa molto strana...

    Salve a tutti, sto studiando da poco il linguaggio C...oggi mi e' venuta la felice idea di creare un piccolo programma che legge un file e ne stampa a video il contenuto. il risultato e' questo:
    codice:
    #include <stdio.h>
    int main() {
    char c;
    FILE * punta;
    if ((punta = fopen("miofile.txt", "r")) != NULL){
    while (fscanf(punta, "%c", &c) == 1) 
    printf("%c", c);
    fclose(punta);
    }
    scanf("%d");
    return 0;}
    cosi' il programma funziona perfettamente ( mi legge spazi vuoti e tutto)...ma controllando bene c'e' un errore..cioe' dopo il WHILE non ho inserito la parentesi graffa...pero' funziona..se la inserisco invece mi legge solo il primo carattere...se tolgo il ciclo solo l'ultimo...cosi' funziona e mi va bene, ma non capisco il perchè ...qualcuno di voi ha idea?

  2. #2

    Re: [C] Una cosa molto strana...

    Originariamente inviato da darkhero
    ma controllando bene c'e' un errore..cioe' dopo il WHILE non ho inserito la parentesi graffa...pero' funziona..
    Non è un errore. Senza parentesi il ciclo è composto dall'istruzione successiva, cioè la printf.

    Originariamente inviato da darkhero
    se la inserisco invece mi legge solo il primo carattere...
    Allora posta la versione non funzionante...

    Per leggere un carattere alla volta, dai un'occhiata a fgetc (invece di fscanf).

  3. #3
    ah perfetto, ho capito l'errore e il codice che ho scritto adesso xD...proprio il giorno successivo a lezione di informatica ho capito questa cosa grazie per la risposta , mi bastava sapere che il ciclo e' comunque composto da 1 istruzione

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.