CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Cherche programmeur ! Petit progr simple

-[atck974]-
-[atck974]-
Niveau 3
08 juin 2005 à 04:38:31

:salut: tlm,

Je cherche quelqu´un qui pourrait me faire un programme capable de vérifier la synthaxe (  aaa@bbb.ccc) d´adresses e-mails présentes dans un fichier . txt ( fichier d´adresses e-mail quoi ! ).

Une fois la vérifictaion des e-mails terminés, il faut que je puisse enregistrer le fichier ainsi dépourvu des adresses non-valables.

Si quelqu´un peut me faire ça qu´il me contacte par mail pour plus d´infos ! ! range.robin@wanadoo.fr ou atck974@hotmail.com

:merci: beaucoup ! !

Ps: C´est assez URGENT ! :)

++ -[atck974]-

inmilinpic
inmilinpic
Niveau 5
08 juin 2005 à 10:07:50

si tu trouves un programmeur qui veut bien creer uniquement pour toi un logiciel
, utiliser de son temps de loisir, creer quelque chose qui ne lui plait pas forcement + que ca

et tout cela Gratuitement et Rapidement . ..

tu te fourres le doigt dans l´oeil...

J´espere que tu es chanceux...

Sinon moi je ne peux rien faire pour toi, dsl mais je suis en periode d´exams :-p d´ailleurs qu´est-ce que je fais sur ce forum ?
Bon tant pis je m´en vais

Bonne chance @+

dijkstra
dijkstra
Niveau 1
08 juin 2005 à 12:38:33
  1. include < stdio.h>
  2. include < stdlib.h>

int est_valide(char *mail)
{
char *tmp = mail;
int arobase = 0, dot = 0;

while ( *tmp && arobase < = 1 && dot < = 1)
{
if ( *tmp == ´@´)
arobase++;
else
if ( arobase == 1 && *tmp == ´.´)
dot++;
tmp++;
}
return arobase == 1 && dot == 1;
}

int main(void)
{
char *mail = NULL;
int i = 0, c;

mail = malloc(42);
printf("Entrez la chaine a tester: " );

while ( (c = getchar()) ! = ´\n´)
{
mail[i] = c;
i++;
}
mail[i] = ´\0´;

if ( est_valide(mail))
printf("%s est valide\n", mail);
else
printf("%s n´est pas valdie\n", mail);

return 0;
}

lag-it
lag-it
Niveau 10
08 juin 2005 à 17:05:54

Dijkstra > Ta fonction est_valide est un peu complexe : l´utilisation de :

strtok(mail,"@") puis strtok(NULL,".")

simplifierai grandement les choses ( au prix d´une variable statique).

dijkstra
dijkstra
Niveau 1
08 juin 2005 à 22:35:22

c´est pas moins compliqué que ce que fais strtok, qui est une fonction particulièrement déconseillée. Et c´est pas parce que mon code est un peu long qu´il est compliqué.

dijkstra
dijkstra
Niveau 1
08 juin 2005 à 22:37:36

http://www.rt.com/man/strtok.3.html

Lis la partie " BUGS"...

Darkiller
Darkiller
Niveau 9
09 juin 2005 à 01:08:59

heu, c pas censé vérifié les adresses dans un fichier??? parce que devoir les taper une à une c pas marrant....

bon moi je vais me coucher @+

Darkiller
Darkiller
Niveau 9
09 juin 2005 à 02:17:08

en fait ca ma bloké cette histoire...

tiens je suis généreux :

( dsl pour la mise en page)

  1. include < conio.h>
  2. include < malloc.h>
  3. include < stdio.h>
  4. include < stdlib.h>
  5. include < string.h>

/ *
Libère la mémoire allouer pour les mails corrects

  • /

void freeEMail(char **ptr)
{
int j;

for(j=0;j<1000;j++)
{
free(ptr[j]);
}

return ;
}

int main(void)
{
/*
nom de fichier mail
*/
char filename[30];
FILE *f;

/*
tableau destiné a recevoir les adresse mail
*/
char *eMail[1000];
int count;

/*
buffer pour lire les adresses mail une par une dans le fichier
*/
char Buffer[512];

/*
destiné à pointé sur ´.´ si le caractère est présent dans l´adresse mail
*/
char *dot=NULL;
/*
destiné à pointé sur ´@´ si le caractère est présent dans l´adresse mail
*/
char *arobase=NULL;

//compteur
int i;

/*
saisie du nom de fichier mail
*/
printf("\nNom du fichier mail : " );
scanf("%s",filename);

//ouverture du fichier
if(NULL==(f=fopen(filename,"rt")))
{
//en cas d´echec
printf("\nErreur d´ouverture du fichier ! !!");
while(kbhit()==0);
getch();

return 1;
}
else
{
//initialise tous les pointeur avec null
//pour que free() les ignore à la sortie du programme
for(i=0;i<1000;i++)
eMail[i] = NULL;

i=0;
count=0;

//Tant que fgets() ne tombe pas sur la fin de fichier
while(fgets(Buffer,512,f)!=NULL)
{
//dot recoit l´adresse du premier . de Buffer
dot = strchr(Buffer,´.´);
//arobase recoit l´adresse du premier @ de Buffer
arobase = strchr(Buffer,´@´);

/*
test si il y a un ´.´ et un ´@´ dans Buffer et
si le . est après @
et si les deux caractères ne se trouvent pas
aux extrémités de la chaine Buffer
*/
if(dot!=NULL && arobase!=NULL
&&<dot-1
&&!=Buffer
&&<strchr(Buffer,´\n´)-1)
{
/*
si correct
alloue la memoire necessaire pour stocker
l´adresse mail et la copie
*/
eMail[count] = ( char*)malloc(strlen(Buffer));
strcpy(eMail[count],Buffer);
count++;
}
i++;
}

//fermeture du fichier mail
fclose(f);

//chtit affichage
printf("\n%d eMail corrects sur %d testes",count,i);

//ouverture du fichier de sauvegarde des mails corrects
if(NULL==(f=fopen("mailcorrect.txt","wt")))
{
//en cas d´echec
printf("Erreur d´ouverture de fichier");
while(kbhit()==0);
getch();

freeEMail(eMail);
return 1;
}
else
{
//écrit les adresse mail dans le fichier,
//une par ligne
for(i=0;i<count;i++)
{
fprintf(f,"%s",eMail[i]);
}

fclose(f);

/ / freeEMail(eMail);

printf("\nFichier corrige avec succes ! ");
}
}

//pause
while(kbhit()==0);
getch();

return 0;
}

j´ai mis l´appel a freeEMail() en commentaire parceque ca fesait buggé le programme en fin d´execution ( si qqun a une idée de ce qui se passe???)

sinon ce programme fonctionne a condition qu´il y est une adresse par ligne dans ton fichier de base,et qu´il n´y est pas plusieurs @ et . dans une meme adresse

@+

3D-MAN
3D-MAN
Niveau 6
09 juin 2005 à 19:54:27

Je peu te faire un exe tout simple mais fodra attendre 1 peu et il fera 1.6mo(C gros!)

lag-it
lag-it
Niveau 10
09 juin 2005 à 21:14:47

" This function modifies its first argument."

Suffit de faire une copie...

dijkstra
dijkstra
Niveau 1
10 juin 2005 à 07:49:46

C´est pas le problème, c´est quand même moins performant. Si le man la déconseille, faut pas chercher. Ou tu recodes ton strtok, ou tu fais un truc à l´arrache suivant le cas comme j´ai fait.

MrGoTo
MrGoTo
Niveau 8
10 juin 2005 à 09:31:40

Il faut rechercher l´expression régulière pour les email.
C´est celle-ci:

^[a-zA-Z][\w.-]*@([a-zA-Z][a-zA-Z0-9-]*\.)+[a-zA-Z
]{2,4}$

J´imagine que le forum va tout me saccager. Voila une page. http://www.labo-linux.com/index.php?page=lumieres&id=337&p=4

dnob700
dnob700
Niveau 10
10 juin 2005 à 18:39:49

je sais pas si c´est indiqué dedans ( je sais pas lire ce truc) que l´extension doit faire 2 caractère au moins et pas plus de 3 ou 4, que le provider doit faire au moins 2 caractères ou 3 s´il y a des chiffres et j´ai l´impression qu´il manque des caractères dans le nom possible ( genre des points, des tiret, des nombres, etc).

MrGoTo
MrGoTo
Niveau 8
10 juin 2005 à 19:27:10

je sais pas si c´est indiqué dedans ( je sais pas lire ce truc) que l´extension doit faire 2 caractère au moins et pas plus de 3 ou 4

> {2,4}

que le provider doit faire au moins 2 caractères ou 3 s´il y a des chiffres

> non ca n´a pas l´air d´etre indiqué

et j´ai l´impression qu´il manque des caractères dans le nom possible ( genre des points, des tiret, des nombres, etc)

> On dirait que dans le nom il manque les nombres oué faudrait commencer comme ça:

^[a-zA-Z0-9][\w.-]*@...

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment