begin process at 2010 02 10 17:17:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

erreur de segmentation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur de segmentation

lundi 25 août 2008 à 15:54:12 | erreur de segmentation

freekid

Bonjour,
voila j'ai un petit soucis bien que j'ai essayé de suivre mes cours à lettre, je ne comprends toujours pas le probleme.
voila en gros la fonction:
char* mafonction()
{
    FILE * fp = fopen("sarah.txt", "r" );
    char c;
    char *text;

    int cursor=0;
    do {    
        c = getc(fp);
            if (c!='\n')
            {
                text[cursor] = c;
                cursor++;
            }


    }while (c!=EOF);
    text[cursor]=EOF;
    fclose(fp);
    return text;
}

et quand j'essai de récupérer le resultat ca me met une erreur de segmentation. cependant, un telle fonction marche:
char* mafonction()
{
    char *text;
    strcpy(text, "Hello world");
    return text;
}

donc si quelqu'un à une idée sur la facon dont je pourrais lire le fichier pour le stocké dans ma variable text, ca serait sympa

merci
lundi 25 août 2008 à 16:53:12 | Re : erreur de segmentation

freekid

en fait c bon il sufisait de faire un malloc dans la fonction cependant j'ai un nouveau probleme du coup:
il ne me lit qu'un seul caractere :(

    FILE * fp = fopen("sarah.dmp", "r" );
    char *c;
    char *text;
    text = (char*)malloc(sizeof(char)*1024);
    strcpy(text, "");
   
    int cursor=0;

    while(!feof(fp)) {
        printf("#");
        fread( c, sizeof(char), 1, fp );
        if (c!="\n")
            text = strncat(text, c, 1);
    }

    fclose(fp);
    return text;
lundi 25 août 2008 à 17:12:12 | Re : erreur de segmentation

coucou747

Réponse acceptée !
hum... la tu te limites a lire 1024 chars...

dans cette source :
http://www.cppfrance.com/codes/INTERPRETEUR-BRAINFUCK_47689.aspx

j'ai mis un exemple
# fseek(code, 0, SEEK_END);
# length=ftell(code);
# content=malloc(length);
# if (!content){
# fputs("malloc error\n", stderr);
# return MALLOC_ERROR;
# }
# fseek(code, 0, SEEK_SET);
# c = fread (content,1,length,code);
# fclose(code);
# if (c != length) {
# fputs("Reading error\n", stderr);
# return READING_ERROR;
# }

tu peux lire le contenu complet d'un fichier, quel que soit sa taille, de plus, tu le lis par bloc, donc c'est plus rapide.
lundi 25 août 2008 à 17:30:14 | Re : erreur de segmentation

freekid

merci beaucoup


Cette discussion est classée dans : text, erreur, char, segmentation, cursor


Répondre à ce message

Sujets en rapport avec ce message

J'arrive pas HELP ME [ par g0belin ] system("net send "+Edit1->Text+" "+Edit2->Text);erreur:[C++ Erreur] Unit1.cpp(36): E2034 Impossible de convertir 'AnsiString' en 'const char *' Pointeur et liberation de memoire [ par Darkneon ] Salut, J'avais un probleme apres que je liberais de la memoire allouer a un pointeur, le message "Null pointer assignment" m'apparaisait toujours. Le streams -> écriture multiple dans fichiers [ par Jiraiya ] Bonjour !je cherche a récupérer le contenu de 2 TEDIT, puis a le modifier un peu et enfin l'inscrire a la fin d'un fichier grace aux streams (ofstream Erreur DeviceIoControl ??? pk acces refusé ? [ par akk ] Bonjour,Voila lorsque j'execute ce code :(on passe le nom du lecteur en parametre exemple : main C)#include #include <iostre erreur de compilation [ par Battousai ] salut tt le monde !1. pour quoi la ligne suivante est erronée ou plutot n'est pas accepte par le compilateur que j'utilise(turbo borland c++)char * ec Comment forcer le RTS pour une liaison RS232 [ par ancat ] Bonjourje viens de faire un petit prog (grandement inspire de sources du site) mais je ne saisis pas trop le controle du RTS.Celui ci est-il traite pa erreur a l'execution [ par vangeurmasker ] J'ai créé un projet sous VC++ 6 pour faire une calcullette qui annalyse une chaine entrée. Lors de la compilation je n'ai aucune erreur. C'est a l'exe probleme de *Char [] [ par oRTEEZ ] Bonjour, voila mon nouveau petit probleme.je pense pas que cela soit tres dur.J'ai un char Text[256] : contenant un texte entre par l'user.et unchar prob tableau de pointeurs [ par fred111111 ] ben voila , j'ai un petit souci pour un prog que je dois réaliser pour un cours. Il s'agit en fait d'un pendu, avec un dictionnaire contenu dans un fi récupérer le text d'une textBox [ par typhoun ] je voudrai mettre le texte d'une textbox dans un char mais sa me met une erreur.char* data;data = (char*) malloc(15);data = this->textBox1->Text;et l'


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales