Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17

    [C] Lettura da file di testo

    Buongiorno a tutti! Come primo post dedico un saluto a tutti i partecipanti del forum,sperando di accrescere il mio bagaglio culturale informatico in una divertente e pacifica convivenza nel forum.
    Peace .
    Vi pongo il mio problema;dopo aver creato con un editor di testo il file di testo "tumb.txt" inserisco su ogni riga del file " nome - cognome - età" di 5 persone casuali e lo salvo.
    Dopo di che apro un progetto in dev per la gestione di questi dati inseriti e vado ad eseguire l'acquisizione dei dati con:

    int a,b,c;

    FILE *fp;
    fp=fopen("tum.txt","r");
    if ( (fp)!= NULL)
    { while (!feof(fp) )
    fscanf(fp,"%s%s%d",a,b,c);
    }
    else
    {
    printf("impossibile aprire il file \n");
    }
    fclose(fp);

    mi printa sempre impossibile aprire il file...
    sbaglio nella logica di programmazione o il problema è a monte ?
    Declare Variables, Not War

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Il file è

    tumb.txt

    come dici nel testo, oppure

    tum.txt

    come scrivi nel codice?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17
    errore mio, però nel codice c'è "tumb.txt"
    specifico che mandando in esecuzione il programma,prima stampa il messaggio d'errore e poi va in crash.
    Declare Variables, Not War

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Se il file non viene trovato è perché non è nella cartella in cui tu pensi che sia.
    Indica il percorso assoluto o poni il file nella cartella dell'eseguibile.

    Per il crash, è perché la fclose sta fuori dalla if ...

    E controlla anche la fscanf perché hai tre variabili intere e tenti di leggere le prime due come stringhe e la terza senza indicare l'indirizzo &c
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17
    il crash è risolto, ma il file ancora niente

    per esplicitare tutto il percorso basta scrivere;
    es. fp=fopen("C:\Documents and Settings\Desktop\tumb.txt","r");
    p.s mi da errore abilitando per default \d \p \i.
    Declare Variables, Not War

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    In C si usa \\ nelle stringhe costanti, quindi

    "C:\\Documents and Settings\\Desktop\\tumb.txt"
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    No, semmai:
    codice:
    fp=fopen("C:\\Documents and Settings\\Desktop\\tumb.txt","r");
    nota i doppi backslash, altrimenti prende \t & co. come sequenze di escape.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17
    Ok, problema risolto!
    Grazie mille ragazzi
    Declare Variables, Not War

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 © 2026 vBulletin Solutions, Inc. All rights reserved.