begin process at 2010 03 22 15:38:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > PETIT CONTROLEUR DE MASK IRC EN C

PETIT CONTROLEUR DE MASK IRC EN C


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caractères Classé sous :mask, irc Niveau :Débutant Date de création :08/09/2006 Date de mise à jour :09/09/2006 10:08:02 Vu :4 247

Auteur : yohan49

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Permet de de verifier deux chaines de carateres avec un caractere joker '*' , utile pour les bots et services irc!

fonction host_compare return 1 si correspondance sinon return 0;

testé avec ces genre de mask :

*@*2.fr -> yoyo49!yoyo@tele2.fr = 1
*!*@tele2.fr -> yoyo49!yoyo@tele2.fr = 1
*!*@tele2.fr -> yoyo49!yoyo@tele3.fr = 0
*!*@*2.fr -> yoyo49!yoyo@tele2.fr = 1
*!*@tele2.ft -> yoyo49!yoyo@tele2.fr = 0
yo*!*@* -> yoyo49!yoyo@tele2.fr = 1
ya*!*@* -> yoyo49!yoyo@tele2.fr = 0
*!yo*@* -> yoyo49!yoyo@tele2.fr = 1
*!ya*@* -> yoyo49!yoyo@tele2.fr = 0
*!*t@* -> yoyo49!yoyo@tele2.fr = 0
*!y*@* -> yoyo49!yoyo@tele2.fr = 1
*!*t*@* -> yoyo49!yoyo@tele2.fr = 0
*!*y*@* -> yoyo49!yoyo@tele2.fr = 1
y*A*!*@* -> yoyo49!yoyo@tele2.fr = 0
*!*@* -> yoyo49!yoyo@tele2.fr = 1
*!*@*tel.* -> yoyo49!yoyo@tele2.fr = 0
*!*@*tele2.* -> yoyo49!yoyo@tele2.fr = 1

Source

  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • int host_compare(char *mask,char *host);
  • int host_compare(char *mask,char *host)
  • {
  • char *masktemp = NULL;
  • char *hosttemp = host;
  • while(1)
  • {
  • if (*mask == '*')
  • {
  • while (*mask == '*')
  • mask++;
  • masktemp = mask;
  • hosttemp = host;
  • }
  • if (!*mask)
  • {
  • if (!*host) return 1;
  • if (!masktemp) return 0;
  • }
  • else
  • {
  • if (!*host) return 0;
  • }
  • if(*mask != *host)
  • {
  • if (!masktemp)
  • return 0;
  • mask = masktemp;
  • host = ++hosttemp;
  • }
  • else
  • {
  • mask++;
  • host++;
  • }
  • }
  • return 1;
  • }
  • int main()
  • {
  • int i;
  • i = host_compare("*!*@tele2.fr","yoyo49!yoyo@tele2.fr");
  • printf("%s %s %d\n","*!*@tele2.fr","yoyo49!yoyo@tele2.fr",i);
  • i = host_compare("*!*@tele2.fr","yoyo49!yoyo@tele3.fr");
  • printf("%s %s %d\n","*!*@tele2.fr","yoyo49!yoyo@tele3.fr",i);
  • i = host_compare("*!*@*2.fr","yoyo49!yoyo@tele2.fr");
  • printf("%s %s %d\n","*!*@*2.fr","yoyo49!yoyo@tele2.fr",i);
  • return 0;
  • }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int host_compare(char *mask,char *host);

int host_compare(char *mask,char *host)
{
	char *masktemp = NULL;
	char *hosttemp = host;
	
	while(1)
	{
		if (*mask == '*')
		{
			while (*mask == '*')
				mask++;
				
			masktemp = mask; 
			hosttemp = host;
			
		}
		
		if (!*mask)
		{
			if (!*host) return 1;
				
			if (!masktemp) return 0;
		} 
		else
		{
			if (!*host) return 0;
		}
		if(*mask != *host)
		{
			if (!masktemp)
				return 0;
			
			mask = masktemp;
			host = ++hosttemp;
		} 
		else
		{
			mask++;
			host++;
		}
	}
	return 1;
}


int main()
{
	int i;
	i = host_compare("*!*@tele2.fr","yoyo49!yoyo@tele2.fr");
	printf("%s %s %d\n","*!*@tele2.fr","yoyo49!yoyo@tele2.fr",i);
	
	i = host_compare("*!*@tele2.fr","yoyo49!yoyo@tele3.fr");
	printf("%s %s %d\n","*!*@tele2.fr","yoyo49!yoyo@tele3.fr",i);
	
	i = host_compare("*!*@*2.fr","yoyo49!yoyo@tele2.fr");
	printf("%s %s %d\n","*!*@*2.fr","yoyo49!yoyo@tele2.fr",i);
	

	return 0;
}



 Historique

08 septembre 2006 03:12:19 :
rajout de la prise en charge des masks en *@*
09 septembre 2006 10:08:02 :
ben en faite elle etait toute beugué , je l'ai toute refaite , cette fois ci ca beug plus

 Sources de la même categorie

FONCTION : CHAR * AJUSTERTAILLECHAINE() par Rockanos
Source avec Zip RECHERCHE D'ANNAGRAMMES par Torin
GESTION DE CHAINE DE CARACTÉRE EN C++ AVEC NSTRING par xmustapha
Source avec Zip COMMENTER CODE C <=> ASM (WIN64) par BruNews
Source avec Zip GSTRING - GESTION DES CHAINES DE CARACTÈRES par Neokript

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) CLIENT IRC BASIQUE par king67
PROXY IRC SIMPLE (WINDOWS/WINSOCK) par _michel
Source avec Zip Source avec une capture CLIENT IRC SIMPLE AVEC DEV-CPP par TeniX
Source avec Zip BOT IRC C++ FACONNABLE ET EXTENSIBLE AVEC ARCHITECTURE EVENE... par lovejava
Source avec Zip UN BOT EN C POUR LE IRC AVEC SON BAZOOKA par The_Guardian

Commentaires et avis

Commentaire de rrk275 le 08/09/2006 19:11:34

c'est une fonction d'expression reguliere en mode tres simplifié quoi?

Commentaire de yohan49 le 09/09/2006 10:16:35

oui les * = n'importe koi et x fois

la fonction est un simplifier de match.c

match.c etait trop lourd pour une simple comparaison de mask irc , je l'ai donc refaite simplifié en gardant le meme raisonnement.

et important avec les mask irc , il faut tenir compte de la case !!!!

Commentaire de yohan49 le 09/09/2006 10:19:02

j'oubliais si vous avez des questions irc.ax-proxima.net ou www.ax-proxima.net pour passer par l'aplet java

Commentaire de NitRic le 10/09/2006 19:18:24

il faut aussi gérer le point d'interrogation

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

client IRC ?? [ par crAzYJoJoo ] Slt, je cherche le code source d'un client irc pour voir comment ca marcheest ce que qq1 sait ou je peux trouver ca ?merci d'avance ++ bot irc [ par Nano ] quelqu'un pourait me donner la source d un bot irc simple fait avec visual c++Merci d'avance Client IRC [ par SAtaN ] quelqu'un aurait il un tutoriel, des infos, pour m'aider à creer un client IRC ???PS : j'utilise Borland C++a+ IRC server [ par spyirc ] je cherche des sourec pou un IRC server plz help me :p tns :) server irc [ par belka ] je voudrai programmer un serveur irc en c++ est je ne sais pas par ou commencer,svp, si vous avez une adresse d'un site ou un code source pour que je IRC [ par Melfos ] Chui un newbie et alors ?salut a tous, je voudrais programmer un bot irc et je voudrai savoir si on peu me passer des liens, des docs ou autre qui exp MASK EDIT [ par greglemoine ] J'ai un petit problème, ca peut paraitre tout con mais je n'arrive pas à blinder cet objet. Si je rentre n'importe quoi, si je mets rien, ca bug purem C++ Builder: Client irc (a laide!) [ par Psyc0s ] Bon je suis en train de faire un client irc avec C++ builder Mais le socket ne veux pas envoyer les message au serveur:(La connexion au serveur foncti masque d'edition [ par athenaeros ] bonjourj'utilise des mask d'edition dans mon application, lors de l'insertion dans ma table je n'ai pas de probnleme, mais lorsque je veux afficher de Variables comme IRC [ par Tidam ] Voila je debute le C++ apres avoir fait beaucoup d'IRC(bot pickup automatique #PickupCs (vive la pub ;)))et je voudrais savoir si il existe en c++ un


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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

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