begin process at 2012 02 11 11:43:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Fonction Convert


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction Convert

lundi 6 février 2006 à 14:13:42 | Fonction Convert

nem02004

Voila mon code marche, mais comme je ne suis pas un super programmeur, je pense qu'il ya moyen de l'amélioré, c'est la que vous intervenez :D
En fait il sert a remplacer uen chaine de numeros en une chaine de caracteres.
Ex:
Convert(0, 108,111,108, 0) = "lol"


char * Convert(char *buf,...)
{
  char *exps[1024];
  char *p;
  int ep = -1;
  va_list vp;
  va_start(vp,buf);
  char result[50];
  sprintf(result,"");
  while(p = (char *)va_arg(vp, char *) )
  {
      exps[ep++] = p;
      sprintf(result,"%s%c",result,p);
  }
  return result;
}

int main(int argc, char* argv[]) {
    MessageBox(NULL,Convert(0, 86,111,105,108,97,32,99,101,99,105,32,101,115,116,32,117,110,101,32,103,114,97,110,100,101,32,102,114,97,115,101,44,32,101,116,32,111,110,32,99,111,110,115,116,97,116,101,32,113,117,101,32,99,97,32,109,97,114,99,104,101,32,33, 0),NULL,0);
  }

lundi 6 février 2006 à 16:45:16 | Re : Fonction Convert

DeAtHCrAsH

Pour commencer, on ne renvoie jamais un pointeur locale dans une fonction.
Secondo, a quoi te sert le char * buff ?
Si c'est uniquement pour le va_start, passe plutot par atoi en gardant ton fonctionnement a N variables.
Sinon pourquoi avoir changé ta méthode avec les 0.108.111.108.0 ?
Pour ma part je trouve beaucoup plus simple de garder cette méthode en adaptant ta fonction convert.

Si tu veux un exemple pour cette méthode, il y a pas de soucis.

Shell
lundi 6 février 2006 à 18:49:22 | Re : Fonction Convert

nem02004

en fait la méthode a changer car ce $Convert me permet de masker ma source en fait on voi pas les Integer dans la source compilé alors qu'on voit les CHAR.
Donc grace a cette methode je peu masquer ma source.
Ensuite comment faire pour le pointeur alors ?
Le char * buff me sert strictement a rien, c juste que l'on peu pas faire: Convert(...), on est obliger de mettre quelque chsoe avant les 3.
mardi 7 février 2006 à 09:58:37 | Re : Fonction Convert

DeAtHCrAsH

Masquer ta source ?
Je doute qe ce soit d'une grande utilité. Au final tout revient à faire du code assembleur.
Donc plutot que de chercher a faire un code "masqué", opte plutot pour un code plus performant et surtout plus simple!

Tu ne pourra JAMAIS protégé un programme par du pseudo code!
Ca se saurai deja, et les crack n'existerai alors pas!

Shell
mardi 7 février 2006 à 13:40:31 | Re : Fonction Convert

nem02004

char * replace(char *buf,...)
{
  char *p;
  va_list vp;
  va_start(vp,buf);
  char *result=(char *)malloc(2*sizeof(char));
  sprintf(result,"");
  while(p = (char *)va_arg(vp, char *) )
  {
     result = (char *)realloc(result,strlen(result) +2 * sizeof(char));
     sprintf(result,"%s%c",result,p);
  }
  return result;
}
La jai changer le pointeur, est-ce bon ?
mardi 7 février 2006 à 14:54:25 | Re : Fonction Convert

DeAtHCrAsH

A partir du moment ou une fonction renvoie un pointeur d'une variable locale, ton code n'est plus bon et source a des erreurs non controlées.

A ta place je ne passerai pas par les va_list, mais plutot par une simple chaine comme tu l'avais fait au début (108.111.108)

Shell
mardi 7 février 2006 à 16:49:41 | Re : Fonction Convert

DeAtHCrAsH

Voici la fonction Convert sans tout ces va_list :

char * Convert(char * pszDest, const char szSrc[])
{
   int i;
   int j;
   char szNumber[4];

   i = 0;
   j = 0;

      while(*szSrc)
      {
         if(*szSrc == '.')
         {
            szNumber[j] = 0;
            pszDest[i++] = (
char) atoi(szNumber);
            szNumber[0] = 0;
            j = 0;
         }
         else
         {
            szNumber[j++] = *szSrc;
         }

         szSrc++;
   }

   if(szNumber != 0)
   {
      pszDest[i++] = (
char) atoi(szNumber);
   }

   pszDest[i] = 0;

   return pszDest;
}


Shell


Cette discussion est classée dans : int, char, result, convert, vp


Répondre à ce message

Sujets en rapport avec ce message

Modification d'un crytage d'hostname sur unrealircd3.2.7 [ par Loveurs ] Bonsoir,J'aimerai savoir si quelqu'un serrai comment modifier le crytage d'host de unreal de façon à faire crytage.wanadoo.fr pour les ip résolues, es Convert char** en int sous c [ par clavz40 ] Bonjour a tous, Je développe une petite application en c pour appareil de lecture de code barre dont je récupère les infos. J'avais besoin d'une fon Suppression de caractères d'un gros fichier texte [ par mslider ] --Bonjour, c'est juste pour une petite aide. J'ai utilisé un code qui avait été mis au point à l'origine pour faire du cross-table(tableau croisé, vo probleme avec une chaine de caractere [ par joben22 ] Bonsoir, j'ai un petit soucis avec une fonction que j'essaie de coder. En fait, je lis le contenue d'un fichier, le place dans un char* et la j'aimer Probleme de Malloc sur un char ** [ par tomy46 ] Bonjour a tous, Avant tout, désole pour les accents (sauf ceux repris par la correction orthographique) mais je suis sur qwerty ... Bon voici mon pr Caster un int dans un char (char * ?) [ par snoop44 ] Bonjour a tous ! Voila mon petit soucis : Je souhaite "caster" un int pour l'écrire dans un char* avant de faire appel a une fonction qui requiert un combinaisons possibles C(n,k) [ par mervat ] bonjour, je veux faire la combinaison de n entiers, j'ai trouvé ce code dans un forum qui convient à ce que je veux: [code=cpp]#include #include usi aider moi a compiler mon programme en devC++ [ par samissam ] bonjour, je demande d'aide sur les arbres binaire car je travaille dessus: j'ai fait un code en Dev C++ dont le but de lire et extraire les donnée Allocation dynamique tableau 2D : erreur de seg [ par noname001 ] Bonjour à tous, [^^happy13] j'aimerais faire appel à vos lumières concernant deux codes. Ils ont tous les deux pour but de créer un tableau 2D dynami


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,435 sec (3)

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