Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Per la prima questione, devi azzerare r1 e r2 prima di usarle.

    Per la seconda domanda, ovviamente si può fare ma non capisco quale difficoltà hai a farlo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    32
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Per la prima questione, devi azzerare r1 e r2 prima di usarle.

    Per la seconda domanda, ovviamente si può fare ma non capisco quale difficoltà hai a farlo.
    Grazie mille per l'interessamento

    Per il primo quesito:

    Wow... ahahah non credevo fosse questo tutto il problema!.
    In effetti se non inizializzo a 0 r1 ed r2 lui può avere valori di r1 ed r2 già molto alti in memoria e giustamente dopo sfora le dimensioni massime, credo sia stato questo il misfatto.

    Ora funziona alla grande anche se visualizzo un errore strano nel log di compilazione che ,pero' ,non ha grande importanza perché compila ed esegue comunque alla grande.
    L'errore e' il seguente: http://i68.tinypic.com/32zommb.png
    Giusto per curiosita' , perchè da questo errore? E si potrebbe risolvere?

    Per il secondo quesito:

    Ok ora sono riuscito a fare anche questo.
    Per farlo ho fatto così:

    Main:
    codice:
    #include <iostream>
    #include "StarWars.h"
    using namespace std;
    int main(int argc, char** argv) {
        //Parte Dichiarativa
        stringa s1,s2;
        int r1=0,r2=0;
        //Parte Esecutiva
        LeggiFile(s1,r1);
        cout<<"Contenuto latoscuro:\n";
        StampaStringa(s1,r1);
        LeggiFile(s2,r2);
        cout<<"Contenuto latochiaro:\n";
        StampaStringa(s2,r2);
        return 0;
    }

    Body:

    codice:
    #include <string.h>
    #include <fstream>
    #define N 100
    typedef char vettore[256];
    typedef vettore stringa[N];
    
    
    void LeggiFile(stringa,int&);
    void StampaStringa(stringa,int);
    Prototipo:
    codice:
    #include <iostream>
    #include "StarWars.h"
    using namespace std;
    
    
    void LeggiFile(stringa s,int& r){
        vettore FileName;
        fstream f;
        cout<<"Inserire il nome del file da aprire\n";
        cin>>FileName;
        f.open(FileName,ios::in);
        if (!f)
            cout<<"Permission Denied\n";
        else
            while(!f.eof())
                f>>s[r++];
        f.close();
    }
    
    
    void StampaStringa(stringa s,int r){
        for(int i=0;i<r;i++)
            cout<<s[i]<<endl;
        cout<<endl;
    }
    E funziona benissimo.

    Piccola Curiosità
    ... quando nell'esecuzione digito il nome ovviamente funziona solo se gli specifico l'estensione alla fine, tipo : "latoscuro.txt" , se scrivo solo "latoscuro" non se lo prende.

    Allora ho provato a modificare solo
    codice:
    f.open(FileName,ios::in);
    in
    codice:
    f.open("FileName.txt",ios::in);
    ma così non funziona mai, qualsiasi nome gli metto mi dice sempre "Permission Denied" ... quindi se volessi scrivere il nome del file a meno dell'estensione ci sarebbe qualche trucchetto da usare?

    P.S.: E' solo una curiosità , anche inserendo l'estensione con l'algoritmo che ho usato sopra va piu' che bene
    Ultima modifica di Warioss; 23-12-2015 a 20:38

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non vedo messaggi d'errore o warning e quello che mostri è l'esecuzione del programma non la compilazione.

    Per il nome, non è questione di "trucchetti" ma di sapere come unire il contenuto della variabile ad una stringa costante. Studia la funzione strcat per unire la variabile FileName e la stringa ".txt"
    Nota che per la variabile non ho usato le virgolette mentre per la stringa dell'estensione sì.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.