elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17
51  Programación / Programación C/C++ / Re: Duda sobre do while en: 6 Junio 2015, 16:05 pm
primero que todo usa GESHI  para que se vea mejor el codigo y se mas legible
segundo trata de inicializar las variables antes de usarlas ,
52  Programación / Programación C/C++ / append , . a un string existente en: 5 Junio 2015, 17:56 pm
Buenas a todos en mi afan de aprender me he topado con lo siguiente
tengo cantidades monetarias en string y quiero agregarles en su debido lugar un caracter espeficio como son comas y puntos pero no me explota el programa cuando lo corro
pior que seria eso ?

abajo dejo parte del codigo ,gracias por los consejos.
Código
  1. char *addComma(char *szValue){
  2.   char *szReturn =  NULL;
  3.   char *szTemp1  =  NULL;
  4.   char *szTemp2  =  NULL;
  5.    int inLength = strlen(szValue);
  6.  
  7.   /*
  8.     *  10000.00 -->> 10,000.00
  9.     *  9000.00  -->>  9,000.00
  10.     *
  11.     *
  12.     *
  13.     * */
  14.  
  15.  
  16.  
  17.   if(inLength >= 6 ){
  18. switch(inLength){
  19. case 7:
  20. strncpy(szTemp1,szValue, 2 );
  21. strncat(szTemp1, ",", 1);
  22. strncat(szTemp1, szValue+3,3);
  23. strncpy(szTemp1, ".", 1);
  24.  
  25. break;
  26. case 5:
  27.  
  28. }  
  29.   }
  30.  
  31.   return szTemp1;
  32. }


solo importa la parte que hago strncat , strncpy
53  Programación / Programación C/C++ / copiar trozos de memoria en: 1 Junio 2015, 17:20 pm
Buenas a tdos tngo un pequeno string  y quisiera copiar parte de el a otro string se donde estan las posiciones pero con memcpy y memmove ni van bien o lo estoy haciendo mal alguien me podria dar un pequeno consejo por favor? gracias de antemano.
54  Programación / Programación C/C++ / Re: parsear un xml ,en c puro , Recomendaciones ? en: 29 Mayo 2015, 14:09 pm
   lseek(data1, 1, SEEK_CUR);
       lectura = read(data1,buffer, 1);
       if(lectura == -1 || lectura == 0){
          sp_debug(("o se llego al final del fichero o hay un error de lectura"));
       }else sp_debug(("cantidad de bytes leidos en la lectura es : %d", lectura));
        strncat(&bufferEscritura, &buffer[indice], 1);
        indice++;
         esc = write(data2, &bufferEscritura, 1);
         sp_debug(("bytes Escritos"));
         lseek(data2, 1, SEEK_CUR);
    }
55  Programación / Programación C/C++ / parsear un xml ,en c puro , Recomendaciones ? en: 29 Mayo 2015, 11:41 am
hola a todos !!
Disculpen a este novato que tiene este foro a mil con tatnas preguntas pero de verdad me interesa aprender
y gracias a ustedes lo estoy logrando , bueno ahora lo que quiero es partsear un xml  ose eleminar un tag en algun sitio dentro del documento. yo se que me haran un pregunta , despues de ver el codigo , estoy en un entorno donde solo tengo open, write ,read y close de unix  el programa compila pero me da segmentation fault (core dumped ) , me pasa muy a menudo pero esta vez cuando trato de leer la cantidad de bytes con read que deberia. bueno pongo el codigo a ver si me doy a entender.
este seria el xml
Código
  1. <xml>
  2. <tag>
  3.  m texyo de be ser
  4. ffgfgf
  5. fgfhfhfh
  6. hf hhf hf hf hfh
  7. gh hghg gh ghghg
  8. gh ghgh
  9. </tag>
  10. </xml>


luego el codigo en c
Código
  1. #include <fcntl.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. int main(int argc ,char argv[])
  6. {
  7.   int bucle =0;
  8.   char *pbuffer={'\0'};
  9.   int file = open("s.xml", O_RDONLY);
  10.   if(file < 0){
  11.      printf("Error Abriendo el fichero \n");
  12.      exit(1);///salida de error
  13.    }else{
  14.  
  15.     pbuffer = NULL;
  16.     int r = read(file, 1024);
  17.     printf("cantidad de bytes leidos :\n %d", r);
  18.     close(file);  
  19.     char *sin= strstr(pbuffer, "<tag>");
  20.     pbuffer = NULL;
  21.     while(sin[5+bucle] != '<')
  22.     {
  23.       strncat(pbuffer, &sin[5+bucle],1);
  24.        bucle++;
  25.     }  
  26.  
  27.     int s2 = open("copia.xml", O_WRONLY|O_TRUNC);
  28.     if(s2 < 0){
  29.       printf("Error @");
  30.      int d=  write(sin, 1024);
  31.      printf("cantidad de bytes escritos : %d", d);
  32.      close(s2);
  33.     }
  34.    }///else??
  35.  
  36.  
  37. }


segun la documentacion de unix ,cuando trate de leer o escribir tantos n-bytes en el o desde el buffer y tengas disponible menos eso es lo que te devolvera o me equivoco ?
gracias de anteamano. igual quisiera leer una estructura completa pero esta fuera del scope ahora me preocupa ese error.
56  Programación / Programación C/C++ / Como manejar un Buffer de 11000 caracteres ? en: 27 Mayo 2015, 05:00 am
Buenas a todos !!!
tengo una duda teorica estoy recibiendo un buffer que tienes mas 11000 caracteres
pero el maximo de buffer que puedo leer es de 8000 caracteres o valores y me gustaria saber que manera es eficiente y efectiva para poder recibir ese buffer ? solo es teoria  si le sale algo practico esta bien pero me guistaria entender esto !!

modificado:

Código
  1. #include<fcntl,h>
  2.  
  3. char buffer[1024];
  4.  
  5. int main()
  6. {
  7.     int fd = open("buffe.cier", O_WRONLY);
  8.   if(fd < 0)
  9.   {
  10.       ///error    
  11.    }else{
  12.  
  13.     ////aqui la verdad no me llega como llenar el buffer
  14.    //// pense usar un while o un for para ir leyendo
  15.    //// pero es un sistema empotrado
  16.     ////intente leer 1024 a 1024
  17.     ////2048 a 2018
  18.     ///// y tambien el buffer completo
  19.    /// 11700 pero nada
  20.    ///////opiniones!!! please
  21.  
  22.    }
  23.  
  24.  
  25.  
  26.  return 0;
  27. }

Gracias por adelatado

Mod: Obligatorio el uso de etiquetas GeSHi
57  Programación / Programación C/C++ / Re: copiar caracteres uno a uno en: 26 Mayo 2015, 04:13 am
claro q si
58  Programación / Programación C/C++ / Re: copiar caracteres uno a uno en: 24 Mayo 2015, 18:00 pm
use malloc pero al final me dio lo mismo estoy leyendo para instruirme a ver si algo sale , posterare resultados. gracias !!
59  Programación / Programación C/C++ / Re: Cadenas de caracteres , Puntero mas Dudas !! en: 24 Mayo 2015, 17:58 pm
si te entiendo pero existe una forma de copiar el token en otra cadena

use strcpy , memcpy ... y el resultado fue el mismo . pienso que es por q al final strtok devuelve el ultimo token como nulo pero tambien el hize una comparacion y nada.
dime si me equivoco , tambien estoy tratando con algo como lo siguiente que si copa pero
al final salen caracteres que no  estan en la cadena , por que pasa eso ?
mira el codigo :


Código
  1. char datos[] ="SOLOESTO..0000000000000000000     0000000   000000000     0000.0  00000-00-10011:00:00 ";
  2.  
  3. int main(){
  4.   char *b;
  5.   b =(char*)malloc(1000);
  6.   for(int i= 0; i < strlen(datos); i++)
  7.     if( i < 10)
  8.        strncat(b, &datos[i],1);
  9.  
  10.     cout<<b;
  11.     free(b);
  12.  
  13.  
  14. }


Modicado
 
Código
  1. while( (ptr = strtok( NULL, s2 )) != NULL )    // Posteriores llamadas
  2.     strncat(s, ptr,20);
  3.  
esto si funciona aunque aun me manda caracteres raros , por que  ?

Gracias !!
60  Programación / Programación C/C++ / Re: Cadenas de caracteres , Puntero mas Dudas !! en: 24 Mayo 2015, 17:26 pm
ya arregle la condicion OntheCore !!
 

Stakewinner00: le puse & por la declaracion dentro del header mira lo que dice
Código
  1. _CRTIMP char* __cdecl __MINGW_NOTHROW strncat (char*, const char*, size_t);

a parte le hize un cambio

al codigo
Código
  1.  
  2. #include <iostream>
  3. #include <cstring>
  4. #include <cstdlib.h>
  5. using namespace std;
  6.  
  7.  
  8. struct Campos {
  9.  char campo1[10];//10
  10.  char campo2[16];
  11.  char campo3[7];
  12.  char campo4[8];
  13.  char campo5[6];
  14.  char campo6[21];
  15.  
  16.  
  17. };
  18.  
  19. char datos[] ="SOLOESTO..0000000000000000000     0000000   000000000     0000.0  00000-00-10011:00:00 ";
  20.  
  21. int main(){
  22.   Campos cmp1;
  23.   memset(&cmp1, 0x00, sizeof(Campos));
  24.   char token2[2000];
  25.  char *token = strtok(datos , " ");
  26.  while(token != NULL)
  27.  {
  28.     cout << " "<<endl<< token;
  29.  
  30. /////AQUI
  31.     strcat(token2, token );
  32.      token=strtok(NULL, " ");
  33.      strcat(token2, token );
  34. //// AQUI ....
  35.  
  36.  }
  37.  
  38.  cout <<token2;
  39.  
  40.  
  41. cout<< " token : \n"<<token<<endl;
  42.   cout << "\niteraciones ----------------------------------------";
  43.  for(int iteraciones= 0;  iteraciones < 11; iteraciones++)
  44.  {
  45.  
  46.    if(iteraciones < 11)
  47.    {
  48.      strncat(cmp1.campo1,token[iteraciones], 1);////en esta iteracion solo quiero copiar                   un caracter
  49.      cout << cmp1.campo1;
  50.    }
  51.  
  52.  
  53.  
  54.  }
  55.  
  56. }
  57.  
  58.  
  59.  
Me asegure de darle 2000 campos para ver si no falla pero falla como quiera.
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines