Jump to content

String et C

Featured Replies

Posted

bonjour

encore moi

j'ai une grande string de 93k :cap:

j'aimerais trouver les occurence de :

An exploration ship of %s reached the <a href=\"planet?id=%*d\">planet %*d,%*d:%*d</a>, but the planet was already habited."

ou %s est variable et je veux le savoir

les %*d sont des chiffres décimaux et je n'en ai pas besoin

j'ai essayer avec sscanf et strstr mais je n'y arrive pas trop

il peux aussi y avoir la phrase

"An exploration ship of %s reached the planet <a href=\"planet?id=%*d\">planet %*d,%*d:%*d</a> and established a colony"

il y a une différence entre les deux

comment faire?

faire ton parser à la main?

La première chose c'est de trouver une chaîne fixe : "An ex...", et ensuite de lire une autre chaîne jusqu'à ce que tu ai la chaîne finale " reached ..."

Ce n'est pas compliqué du tout, et ça doit être ce que fait déjà sscanf.

  • Author

sa je fait deja

le probleme c'est que je dois chercher une partie de la string a l'intérieur de la grande string

je connais le debut et la fin de la string mais pas le millieur

il ya une autre string dans la grande string que le debut est le meme et pas la fin

donc je doit faire la différence...

Imagine ce que ça donnerait avec des regexp?

(sinon tu as flex pour les mettre en place, mais c'est peut-être l'arme lourde)

Tu as déjà la réponse avec ce que tu as écrit.

if (scanf ("An exploration ship of %s reached the <a href=\"planet?id=%*d\">planet %*d,%*d:%*d</a>", mystring) == 5)

Ensuite tu teste la suite de ta phrase.

  • Author

Tu as déjà la réponse avec ce que tu as écrit.

if (scanf ("An exploration ship of %s reached the <a href=\"planet?id=%*d\">planet %*d,%*d:%*d</a>", mystring) == 5)

Ensuite tu teste la suite de ta phrase.

j aurais bien aimé

mais scanf je recherche pas la string An explorat....

je sais pas trop pourquoi

j ai reussi la

mais je doit i aller au strstr pour trouver la premiere partie ensuite un autre et je vérifie qu il n est pas trop loin

Archived

This topic is now archived and is closed to further replies.