Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 38

Discussione: [C] Segmentation Fault

  1. #1

    [C] Segmentation Fault

    Ciao a tutti! Non sono un esperto in C e da poco che lo so. Sto avendo sempre un problema con Segmentation Fault ogni volta che concateno delle stringhe..
    Avvio il codice normalmente e all'avvio si blocca con Segmentation Fault..

    Questo è il codice:
    Codice PHP:
    char INIReader_ViewFile()
    {
        
    char contenuto[80];
        
    char *linea;
        
    FILE *stream, *fopen();
        
    stream fopen("config.ini""r");
        while(
    fgets(linea500stream) != NULL)
        {
            
    strcat(contenutolinea);
        }
        
    printf(contenuto);
        return 
    contenuto;

    Aiutatemi.. Son due giorni che mi sbatto

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Alloca la memoria per la variabile linea.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Grazie mille. Avevo provato così :| boh..

    Ehm..però non capisco perchè facendo passare attraverso il return il valore mi da quell'errore :S
    Avrò sbagliato nel file header? Io ho messo così:

    Codice PHP:
    char INIReader_ViewFile(void); 
    e poi nel main(); ho fatto
    Codice PHP:
    #include "INIRead.h"

    int main(){
    printf(INIReader_ViewFile());

    cosa ho sbagliato?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    Come la usi printf ?

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Sevenarth
    Grazie mille. Avevo provato così :| boh..

    Ehm..però non capisco perchè facendo passare attraverso il return il valore mi da quell'errore :S
    Avrò sbagliato nel file header? Io ho messo così:

    Codice PHP:
    char INIReader_ViewFile(void); 
    e poi nel main(); ho fatto
    Codice PHP:
    #include "INIRead.h"

    int main(){
    printf(INIReader_ViewFile());

    cosa ho sbagliato?
    1. Dichiari la funzione INIReader_ViewFile con valore di ritorno char e poi restituisci un array di char
    2. printf NON si usa così
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    lol
    eh.. non so come farla restituire di valore array char...pensavo che così andava bene :|

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    Originariamente inviato da Sevenarth
    lol
    eh.. non so come farla restituire di valore array char...pensavo che così andava bene :|
    Cosa vuoi fare esattamente?? Copiare il contenuto di un file in un array (stando a vedere il tuo codice) ?
    Applica le dovute modifiche..

  8. #8
    praticamente al main.c io ho messo #include "INIReader.h", e volevo fare in modo di poter eseguire le funzioni di INIReader.c, ma se faccio restituire il valore della funzione ViewFile in INIReader.c in un char in main.c mi esce Segmentation Fault, avrò sbagliato l'header?
    Io nel l'header a quella funzione ho fatto così:
    Codice PHP:
    char INIReader_ViewFile(void); 

  9. #9
    ma anche una cosa di questo tipo ti da errore:
    codice:
    void INIReader_ViewFile()
    {
        char contenuto[2000];
        char linea[500];
        FILE *stream;
        stream = fopen("config.ini", "r");
        while(fgets(linea, 500, stream) != NULL)
        {
            strcat(contenuto, linea);
        }
        printf("%s", contenuto);
    }
    per ritornare il contenuto letto devi usare i puntatori...inoltre tu ritornavi un "char" ma contenuto è un vettore di "char" (non un sol carattere).

    ps. perchè nel codice tieni "FILE *fopen()" ?!? non ha senso...
    Administrator of NAMDesign.Net

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    :
    Originariamente inviato da simo_85
    Cosa vuoi fare esattamente?? Copiare il contenuto di un file in un array (stando a vedere il tuo codice) ?

    Scusate..

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.