Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    110

    lettura file parte seconda

    ho risolto molte cose, ma c'e' qualcosa che ancora non mi e' chiaro.
    Dato il seguente codice
    int i;

    double num1,num2, num3;
    char *myString[i];
    //char *myString1, *myString2, *myString3;

    int main(void);
    int readFromFile(void);
    int writeToFile(void);

    int main(void){
    int error;
    error = readFromFile();
    if(error)
    return error;
    error = writeToFile();
    if(error)
    return error;
    return kErrorNo;
    }

    int readFromFile(void){
    FILE *myEnter;
    printf("...Reading from file %s\n", kFileToRead);
    printf("\n");
    myEnter = fopen(kFileToRead,"r");
    if(myEnter==NULL)
    return kErrorIO;
    for(i=0;i<3;i++){
    myString[i] = calloc(kMaxStringLength, sizeof(char));
    if(myString[i]==NULL)
    return kErrorMemory;
    fscanf(myEnter,"%s",myString[i]);
    printf("String = %s\n",myString[i]);
    }
    printf("\n");
    fclose(myEnter);
    for(i=0;i<3;i++){
    free(myString[i]);
    }
    return kErrorNo;
    se dichiaro:
    char *myString[i]; il compilatore mi dice "variable-size type declared outside of any function"

    se invece dichiaro solo
    char *myString;

    mi vengono riportati 3 warning e nell'eseguirlo mi da un segmentation fault:
    1 warning: assignment makes integer from pointer without a castcountElement.
    2 warning: comparison between pointer and integer
    3 warning: passing argument 1 of ‘free’ makes pointer from integer without a cast
    rispettivamente riferiti alle righe:
    myString[i] = calloc(kMaxStringLength, sizeof(char));
    if(myString[i]==NULL)
    free(myString[i]);

    volevo far notare che se al posto del ciclo for mettessi
    myString1 = calloc(kMaxStringLength, sizeof(char));
    myString2= calloc(kMaxStringLength, sizeof(char));
    myString3 = calloc(kMaxStringLength, sizeof(char));
    cambiando tutto di conseguenza il codice funge perfettamente.

    qualcuno che mi sappia suggerire qualcosa in proposito?

    saluti.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: lettura file parte seconda

    Originariamente inviato da earp_
    char *myString[i]; il compilatore mi dice "variable-size type declared outside of any function"
    char *myString[3];
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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

    Moderazione

    Mi sa che i titoli non sono il tuo forte...

    Il problema che riscontri non ha nulla a che vedere con la lettura da file, ma con la dichiarazione di un array di stringhe.

    Oltretutto manca il linguaggio...

    Io correggo, ma la prossima volta no.


    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

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    110
    mi sa che anche te hai ragione.
    tks! :rollo:

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.