Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: volteo0101 en 27 Febrero 2011, 01:44 am



Título: [ANSI C]Ayuda con cadenas de caracteres.
Publicado por: volteo0101 en 27 Febrero 2011, 01:44 am
Buenas, estoy desarrollando una aplicacion en ansi c, que es un generador de inyecciones mysql , pero tengo un problema..

Código:
if(o==1)
{
columnas();
scanf("%d",&c);
system("cls");
printf("Numero de columna que se imprime en pantalla ==> ");
scanf("%d",&z);
system("cls");
printf("\n\n\n\n\n Target : %s and 1=0 +union+select+all+ ",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf(",version()");}
               
                                    else{
printf(",%d",j);
}
}
printf(" --");
printf("\n\nDone!!");
system("pause>Nul");
}

parte del codigo es asi , pero si pongo en la parte de
 printf(",%d",j);      // LA COMA ANTES ME QUEDA ASI :
,0,1,2,3,4,5 -- etc..

pero si la pongo despues :

printf("%d,",j);

Me queda :

0,1,2,3,4,5,6,7, --

yo necesito que queda , sin la primera coma y sin la ultima .. osea algo asi:

0,1,2,3,4,5,6 --

Algun algoritmo ?? ..

Gracias de antemano (:



Título: Re: [ANSI C]Ayuda con cadenas de caracteres.
Publicado por: Fer995 en 27 Febrero 2011, 02:11 am
prueba con esto:
Código:
        for(j=0;j<=c;j++)
if(z==j){
printf(",version()");
}else{
if(j>0) printf(",");
printf("%d",j);
}
printf(" --");


Título: Re: [ANSI C]Ayuda con cadenas de caracteres.
Publicado por: .:BlackCoder:. en 27 Febrero 2011, 02:35 am
Pes pon que si no es la primera iteracion de for o muestre con la ',' primero y sino que lo muestre sin la ','...

Saludos


Título: Re: [ANSI C]Ayuda con cadenas de caracteres.
Publicado por: 3mp3z@ndo en 27 Febrero 2011, 06:43 am
Puedes utilizar en el printf la coma detrás y cuando salgas del for retrocedes, eliminas la coma y vuelves a retroceder para quedarte en la posicion correcta

Código
  1. printf("%d,",j);
  2. }
  3. printf("\b \b--");
  4.  

Saludos


Título: Re: [ANSI C]Ayuda con cadenas de caracteres.
Publicado por: volteo0101 en 27 Febrero 2011, 11:38 am
Muchas gracias a todos , utilize este y me funciono :


Puedes utilizar en el printf la coma detrás y cuando salgas del for retrocedes, eliminas la coma y vuelves a retroceder para quedarte en la posicion correcta

Código
  1. printf("%d,",j);
  2. }
  3. printf("\b \b--");
  4.  

Saludos

Dentro de poco veran la herramienta :) un saludo.