begin process at 2012 02 08 21:10:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Extraire une chaine de caractères


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

Extraire une chaine de caractères

dimanche 16 mai 2004 à 22:41:02 | Extraire une chaine de caractères

spacegate

Bonjour!
Voilà mon problème :
je désire lire un fichier, puis le parser, afin d'en extraire des données balisées
J'ai donc le contenu du fichier dans une chaine char* appelée ptr2.
Jessaye donc ensuite de découper le fichier :

char *ptr1;
int length, i=0;
while(ptr1 = strstr(ptr2, "<title>"))
{
ptr2 = strstr(ptr1, "</title>");
length = ptr2-7-ptr1;
title[i] = substr(ptr1, 7, length);
i++;
}

J'ai écrit la fonction substr :

char* substr(char* ori, int deb, int lg)
{
char *string;
string[lg] = '\0';
for(int i=0; i<lg; i++)
{
string[i] = '0';
}
return string;
}

Mon problème : le script parvient a lire le 1er élément balisé, mais les suivant (ils sont au total 0 non)
J'ai donc placé des printf un peu partout dans mon code, pour étudier l'évolution de ptr2. Je constate que jusqu'a lappel de la fonction substr, ptr2 se comporte normalement (j'obtiens ce a quoi je m'attendais).
Par contre après substr, tous mes pointeurs prennent la valeur de string. Quelqu'un aurait il une idée?

Merci d'avance!
dimanche 16 mai 2004 à 22:43:53 | Re : Extraire une chaine de caractères

spacegate


OOps! tite erreur : la fonction substr c'est plutot :

char* substr(char* ori, int deb, int lg)
{
char *string;
string[lg] = '\0';
for(int i=0; i<lg; i++)
{
string[i] = ori[i+lg];
}
return string;
}
dimanche 16 mai 2004 à 22:47:01 | Re : Extraire une chaine de caractères

BruNews

Administrateur CodeS-SourceS
char *string;
string[lg] = '\0'; ?????
Tu ecris a quel emplacement dans la memoire, ou pointe donc *string ?!?!

ciao...
BruNews, Admin CS, MVP Visual C++
dimanche 16 mai 2004 à 22:47:14 | Re : Extraire une chaine de caractères

spacegate


reoops c'est pas i+lg mais i+deb sorry!
dimanche 16 mai 2004 à 22:49:57 | Re : Extraire une chaine de caractères

spacegate

eee BruNews, merci pour ta réponse, eee, c'est pas bête ce que tu dis, je viens de corriger! merci 1000 fois! ca a l'air de courrir comme il faut!
encore merciiii!
dimanche 16 mai 2004 à 23:03:23 | Re : Extraire une chaine de caractères

spacegate

hum une dernière question :

j'ai une fonction qui fait cela :

avec current un char*

char* link = strcat("http://www.puissance-pc.net/site/modules/news/article.php?storyid=", current);
Content->Caption= link;

Si j'appelle une première fois ca va, une deuxième je me retrouve avec deux current au lieu d'un.

Une idée?
Merci d'avance!
dimanche 16 mai 2004 à 23:08:34 | Re : Extraire une chaine de caractères

BruNews

Administrateur CodeS-SourceS
"je me retrouve avec deux current au lieu d'un" ? Que vuex-tu dire ?

strcat retourne pointeur sur *dest (1er param) alors pas besoin de mettre char *truc = strcat(...), tu as deja le pointeur puisque tu lui passes.

ciao...
BruNews, Admin CS, MVP Visual C++
dimanche 16 mai 2004 à 23:24:14 | Re : Extraire une chaine de caractères

djl


strcat("http://www.puissance-pc.net/site/modules/news/article.php?storyid=", current);

dimanche 16 mai 2004 à 23:24:51 | Re : Extraire une chaine de caractères

ymca2003

ajouter une chaîne à une chaîne constante c'est pas terrible comme résultat.

ce que tu veux faire c'est plutôt ça :
char link[256] = "http:\....";
strcat(link, current);
dimanche 16 mai 2004 à 23:29:16 | Re : Extraire une chaine de caractères

BruNews

Administrateur CodeS-SourceS
ah oui et en + c'est sur une constante, on est au top !!!

ciao...
BruNews, Admin CS, MVP Visual C++

1 2

Cette discussion est classée dans : string, char, substr, ptr1, ptr2


Répondre à ce message

Sujets en rapport avec ce message

AnsiString et Char [ par JCLK ] J'ai un leger probleme :je recupere une String et j'ai ensuite besoin de la transformer en char *Est-ce possible ?La String contient un path ("C:\...\ tableau de char -> string [ par alfred289 ] bonjour,j'utilise BOrland C++ builder 5 et j'essaie de transformer un tableau de caractères en sring et je trouve pas commentmerci de votre aide operator [] ds une classe string pr retourner un caractère [ par ngryman ] Salut à ts,voilà j'ai un petit souci ds une classe String que j'ai fait. J'ai inclu un opérateur [] qui comme un char* retourne le char à la position Convertir une string en char* [ par dickymoe ] Existe-t-il une fonction qui permet de convertir une string en char* ?ou alors une fonction qui compare deux string sans respecté la casse ???Merci(en Probleme converssion [ par zzzzzz ] <img src=/imgs2 Probleme malloc [ par zzzzzz ] <img src=/imgs2 Convertion d'une string en char [ par redpooka ] Voici avec ce programme ca n'affiche juste le premier charactère comment faire pour qu'il affiche toute la chaine de caracètre ?Merci#include <iostre problème d'allocation mémoire dans ma classe [ par Bub325 ] Salut, j'ai un problème dans le code suivant au niveau de l'allocation mémoire de tmp.a = new char... dans operator+, et je ne sait pas du tout pourqu Visual C++ Free() [ par PRZYBYLSKI ] #include #include #include "stdafx.h"Question au Pro?Qu'es qui est faux docteurArrivé à free ça bombe#include <io convertir un String* en char [ par mimyne ] Bonjour a tous malgrès toute les fonctions que g essayé je n'arrive pas a convertir un string* en char s'il y a qqun qui pourrait me renseigner je su


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,577 sec (4)

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