begin process at 2012 05 30 01:55:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

probleme avec une chaine de caractere


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

probleme avec une chaine de caractere

dimanche 10 octobre 2010 à 00:46:10 | probleme avec une chaine de caractere

joben22

Bonsoir,

j'ai un petit soucis avec une fonction que j'essaie de coder.
En fait, je lis le contenue d'un fichier, le place dans un char* et la j'aimerai diviser ce char* en fonction des retour a la ligne. Pour ca j'ai penser a utiliser des char** .
Seulement, Segmentation Fault lol

je vous link le code si l'un de vous peut m'aider je suis preuneur.

Merci beaucoup !

char **getln (char *buffer)
{
int i = 0;
int j = 0;
int k = 0;
char **ligne;

while (buffer[i] != '\0')
{
while (buffer[i] != '\n')
{
ligne[j][k] = buffer[i];
k++;
}
j++;
}
return ligne;
}
dimanche 10 octobre 2010 à 01:31:08 | Re : probleme avec une chaine de caractere

BruNews

Administrateur CodeS-SourceS
char **ligne;

OK, pour l'instant 'ligne' est 4 octets qui devrait ultérieurement référencer une adresse base.

ligne[j][k] = buffer[i];
ouh la... on écrit nimporte où des octets.

Les pointeurs c'est bien, encore faut-il les faire pointer quelque part.

ciao...
BruNews, MVP VC++
dimanche 10 octobre 2010 à 01:35:00 | Re : probleme avec une chaine de caractere

joben22

Tout d'abord merci de ta reponse.
Et puis ensuite, je comprend que j'ai fait de grosse erreur lol
Mais je ne vois toujours pas comment les corriger meme si j'ai bien compris ce que tu reprochais a mon code.

J'aimerai bien, si possible, que tu m'eclaire un peu plus.

Merci
dimanche 10 octobre 2010 à 01:39:18 | Re : probleme avec une chaine de caractere

joben22

Je ne sais pas si c'est de cela que tu me parlais, mais j'ai rajouté un malloc avant les boucles.
je me suis rendu compte qu'il en fallait un lol

seulement, toujours rien.
Ou plutot, toujours segmentation fault
dimanche 10 octobre 2010 à 10:11:04 | Re : probleme avec une chaine de caractere

BruNews

Administrateur CodeS-SourceS
- i jamais incrémenté.
- pointeurs non alloués et ne pointant nullle part.
- etc, etc.

Rien à conserver, c'est le principe qui est à changer.

De la recopie serait totalement inefficace, le texte est deja dans un buffer memoire, il faut l'y laisser.

1) Parcours du buffer pour compter le nbr d'octets == 10 (les sauts de ligne).
2) Alloc d'un tableau de pointeurs, (nbr + 1) cases.
3) Reparcours du buffer:
- On place en *tab[i] l'adresse de chaque debut de ligne, c'est l'adresse derriere un octet 10 s'il n'est pas lui meme suivi d'un 10.
- Quand écrit un *tab[i], on met 0 au lieu du 10 quit suit, ainsi on a illico un tableau de chaines sans aucune recopie.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : buffer, ligne, int, probleme, char


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec getLine() [ par adakick ] Bonjour j' ai un programme qui récupère toutes les informations passer par lentrée standard et qui affiche les information ligne par ligne, mais mon c copier une valeur dans une structure [ par Kurpeus1 ] Bonjour, désolé de reposer la question mais j'ai un soucis depuis plusieurs jour et je n'arrive pas a le résoudre. Il me semble pourtant que pour un d strcat : fonction( char* buffer, int nb ); [ par wizard512 ] Bonsoir,Je souhaiterais savoir Si une fonction similaire a strcat() existerais,mais qui ajoute un entier ( int ) dans une Besoin d'aide [ par romainbisson ] Bonjour,j'ai besoin de faire un programme qui lit ligne par ligne un fichier en recuperant a certains emplacement de la ligne, la valeur :exemple de l probleme de convertion de int vers char * [ par zozizozu ] Bonjour a tous.J'ai un probleme de convertion de int vers char *voici mon code :    for( int  i = 0; i     {        char intochar;         _itoa_s(i,& analyseur lexical pascal [ par perrotta ] Bonjour, dsl pour ma langue je parle pas bien le français; je suis entrin de devlopper un analyseur lexical pour un programme (pascal) prèci ,et j'ai Passer un tableau de char en paramètre [ par DeadStar117 ] Bonjour,Je cherche à passer des tableaux de char en paramètre à mes procédure mais je n'y arrive pas.Voila un exemple de code:GestionArbre GeAr;<font conversion string et char, probleme [ par flowneo ] Bonjour, soit le code suivant, qui convertit une chaine string en char: #include #include #include using namespace std; int main (){ string com Probleme de Malloc sur un char ** [ par tomy46 ] Bonjour a tous, Avant tout, désole pour les accents (sauf ceux repris par la correction orthographique) mais je suis sur qwerty ... Bon voici mon pr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,624 sec (3)

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