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

    [C++]problema con ifstream

    salve a tutti,ho questo problema:

    la seguente riga di codice
    ifstream ascii("ascii"),binario("binario");
    if(!ascii || !binario) {cout <<"riscrivi\n";return 12;} dovrebbe trovare il file "binario" e il resto del codice si occuperebbe della lettura dei dati(nn riportato) tuttavia nn capisco perchè sul pc con fedora il file binario è in /home/io e me lo vede, nel pc con ubuntu continua a coutarmi riscrivi nonostante sia il prog sia "binario siano nella stessa cartella.ho provato anche con ifstream binario("/home/io/binario"); ma nn funzia

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Detto così sembra quasi impossibile. Sicuro che nome e percorso dei file siano corretti? Magari hanno un'estensione che hai dimenticato di scrivere... potresti anche non avere i permessi di scrittura su quei file (visto che il costruttore di ifstream dovrebbe aprire il file in scrittura anche se non lo specifichi). Prova a dare il comando

    ls -l /home/io/ascii /home/io/binario

    e vedi se hai i permessi di lettura sui file.

    Per analizzare meglio l'errore puoi anche aggiungere l'istruzione

    perror("Errore nell'apertura del file");

    all'interno del corpo dell'if così verrà visualizzato a video un messaggio del genere:

    Errore nell'apertura dei file: <descrizione errore>

    e si può cominciare a capire.
    every day above ground is a good one

  3. #3
    ho controllato e ho i permessi di scrittura, il file nn ha estensione, si chiama solo "binario", cmq ho provato a rinominarlo .dat ma nn funzia cmq

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    E hai provato con la perror() ? Cosa ti dice? Deve per forza segnalarti l'errore...

    basta che scrivi

    codice:
    if ( ! binario || ! ascii ) {
          perror("Errore");
          ...
    }
    e ti si visualizzerà un messaggio di errore sul terminale. Leggendo quello si può tentare di capire...
    every day above ground is a good one

  5. #5
    mah..è veramente strana sta cosa.....mi dice no such file or directory, però poi i dati che doveva leggere li ha letti lo stesso

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    E' possibile che il problema sia causato solo da uno dei due... magari prova a separare i controlli per vedere precisamente quale file non viene aperto. Comunque se ti dice no such file or directory deve essere *necessariamente* sbagliato o il percorso o il nome del file... so che magari ti sembra assurdo, ma sarebbe acora più assurdo se quell'errore non avesse una causa.
    every day above ground is a good one

  7. #7
    prova ad inserire i percorsi assoluti nella chiamata a ifstream
    ciao
    sergio

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.