Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

petit probleme fonction

Featured Replies

Posté(e)

#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 .

Posté(e)
  • Auteur

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>

Posté(e)
  • Auteur

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

Posté(e)

Donc tout ce qui est entre message= et &, c'est ça ?

Ça peut se faire avec une expression rationnelle, par exemple, libpcre pour du C ou libpcrecpp / boost pour du c++

Posté(e)

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:

Posté(e)

Ou alors sans lib, on peut faire comme ça :

  char *start = strchr (txt, '=')+1;
 char *end = strchr (start, '&')+1;
 char *resultat;

 resultat = malloc ((end-start)*sizeof (char));
 memcpy (resultat, start, (end-start));
 resultat [end-start-1] = 0;

Posté(e)

yep, plus simple :cartonrouge:

(sauf que on veut pas le '&' -qui sera remplacé par 0 - donc uniquement "end = strchr(start, '&');" :francais: )

Archivé

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.