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

    [C++] array di puntatori ed apertura file.

    Ragazzi qualcuno sa dirmi cosa è ke nn va nella parte di codice commentato?! cerco solamente di mettere delle stringhe lette da file in un array di puntatori. ecco il codice:
    #include <iostream>
    #include <cstring>
    #include <fstream>

    using namespace std;

    void lettura(char [],char [],char * []);

    int main (){
    const int P_MAX=20;
    char * parole[P_MAX];
    char orig[10]="ORIG.TXT";
    char mod[10]="MOD.TXT";
    lettura(orig,mod,parole);


    system ("PAUSE");
    return 0;
    }


    void lettura(char orig[],char mod[],char * parole[]){
    int i=0;
    char arrstr[30][30];
    fstream fin(orig);
    if(!fin){
    cout<<"Errore nell'apertura del file!"<<endl;
    system ("PAUSE");
    exit(0);
    }
    else
    cout<<"Apertura avvenuta con successo."<<endl;


    parole[0]="ciao";// questa assegnazione invece funziona...
    /*
    while(!fin.eof()){
    fin>>parole[i];
    cout<<parole[i]<<endl;;
    i++;
    }
    */

    cout<<parole[0]<<endl;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima di postare del codice, dovresti eliminare le parolacce dal sorgente ..

  3. #3
    codice:
    fin>>parole[i];
    Questo non può funzionare, perché, come dici tu stesso, parole è un array di puntatori a char. Dove pensi che possano essere memorizzati i caratteri della stringa letta dal file?
    In sostanza, devi definire parole come un array bidimensionale di char, esattamente come fai per la variabile arrstr (vaaaaabbé :rollo: ).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ho editato il sorgente: le parolacce non sono ben viste sul forum... oltretutto è un bell'array inutile, visto che non viene usato...

    @MItaly: ho editato pure il tuo per conformità...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    mi scuso per la parolaccia ma ero un po nervoso qnd ha iniziato a nn andare ed ho scritto di tutto...ringrazio tutti quelli ke hanno risposto e kiedo scusa ancora...

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.