Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577

    C++ ed allocazione dinamica della memoria

    main()
    {
    FILE *fp;
    char buf[127];
    int c;
    int = 0;

    fp=fopen("miofile.txt","r");
    if(!fp) exit(20);

    while( ( c = fgetc(fp) ) != EOF)
    buf[i++] = (char)c;

    //resto del programma.............

    fclose(fp);
    }

    questo scheletro di programma, carica nell'array di char (buf)
    una stringa, normale direte; il mio problema è che avrei bisogno
    di creare un array dinamico di modo che anche se la linea è lunga
    1000 caratteri, questa venga messa in memoria senza che
    vengano generati errori.
    So che è possibile usando new/delete) allocare dinamicamente
    la memoria in funzione della necessità.
    Purtroppo mi sfugge la sintassi, se qualche buon'anima mi fornisce
    una dritta....

    spero di essere stato chiaro

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    ho risolto, grazie

  3. #3
    metropolis999
    Guest
    ho letto questo 3d e mi servirebbe proprio la stessa cosa... come hai fatto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    Originariamente inviato da metropolis999
    ho letto questo 3d e mi servirebbe proprio la stessa cosa... come hai fatto?
    pardon per il lunghissimo ritardo; anche se penso che nel frattempo, tu abbia risolto il tuo problema:

    char *buf = '\0';

    while( ( c = fgetc(fp) ) != EOF)
    {
    buf = (char *) realloc(buf, i+1);
    buf[i++] = (char)c;

    //.....
    }

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