Aller au contenu

petit probleme fonction


warning

Messages recommandés

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char recup_champ(char*,char*,char*);

int main(void)

{

char*requete_get ;

char message[50];

requete_get=(char*)getenv("QUERY_STRING");

recup_champ(requete_get,"message",message);

}

ET quand j'execute voila ce que j'ai .

[Linker error] undefined reference to `recup_champ'

Ce programme servira de script pour recupere des données a partir d'une url .

Lien vers le commentaire
Partager sur d’autres sites

ue j'ai compris enfaite moi en c c'est lamentable des fois genre je coryais qu'il allai me chercher ce qu'il y avait dans message tout seul . :cartonrouge:

Bon j'ai une autre question avec requete_get je recupere ca "message=Bonjour&B1=Valider"

ce que je voudrais c'est pouvoir extraire juste le message qui Bonjour dans ce cas la .

code html : <p>Quel est votre message ? <input size="20" name="message" type="text"></p>

Lien vers le commentaire
Partager sur d’autres sites

Ok je vais essayer

Alors je voudrais extraire dans une variable par exemple le mot Bonjour de la chaine message=Bonjour&B1=Valider sachant que Bonjour pourrait etre salut , kikoo , mdr , lol , 53480 etc.

Sauf que je conai pas la fonction qui permetterai de faire ca . ( en language c ou c++ ) c'est pour faire un script cgi .

Merci

Lien vers le commentaire
Partager sur d’autres sites

ou alors comme un gros goret :

int deb = 0, fin;
char* outstr;

//récupération de la position du premier '='
while(message[deb] != '=')
 deb++;
deb++;

//récupération de la position du premier '&'
fin = deb;
while(message[fin] != '&')
 fin++;

//copie de la chaine correpsondante
outstr = malloc((fin-deb)*sizeof(char));
strncpy(outstr, message+deb, fin-deb);
outstr[fin-deb] = 0;

Y a pitêtre à jouer sur les indices si jamais un '&' ou un '=' resterait par mégarde ( :chinois: )

Mais sinon, la solution la plus pérenne, c'est effectivement d'utiliser une bilbiothèque de mlanipulation de chaînes.

Sans aller jusqu'à la regexp, tu peut y arriver avec des split() ou autre :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...