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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: 1 2 3 [4] 5 6 7 8 9
31  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.
32  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.
33  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
34  Programación / Programación C/C++ / Cadenas de caracteres , Puntero mas Dudas !! en: 24 Mayo 2015, 16:52 pm
Buenas a todos !!
vuelvo con otras dudas sobre esto de las cadenas ahora tengo una duda que me surgio sobre esto  usar las funciones de string.h  

ahora le toca a strcat , ahora tengo una estructura de y quiero copiar varios campos que son punteros o son arreglos y el resultado es el mismo , el programa crash  voy a poner el codigo  :

Código
  1. #include <iostream>
  2. #include <cstring>
  3. #include <stdlib.h>
  4. using namespace std;
  5.  
  6.  
  7. struct Campos {
  8.  char *campo1;//10 era un array de 10 campos y como quiera
  9.  char campo2[16];
  10.  char campo3[7];
  11.  char campo4[8];
  12.  char campo5[6];
  13.  char campo6[21];
  14.  
  15.  
  16. };
  17.  
  18. char datos[] ="SOLOESTO..0000000000000000000     0000000   000000000     0000.0  00000-00-10011:00:00 ";
  19.  
  20. int main(){
  21.   Campos cmp1;
  22.   memset(&cmp1, 0x00, sizeof(Campos));
  23.  char *token = strtok(datos , " ");
  24.  while(token != NULL)
  25.  {
  26.     cout << " "<<endl<< token;
  27.     token = strtok(NULL, " ");
  28.  
  29.  }
  30.  int iteraciones= 0;
  31.  
  32.   cout << "iteraciones ----------------------------------------";
  33.  for( ; iteraciones < 11; iteraciones++)
  34.  {
  35.  
  36.    if(iteraciones < 12)
  37.    {
  38.      strncat(cmp1.campo1,&token[iteraciones], 1);
  39.      cout << cmp1.campo1;
  40.    }
  41.  
  42.  
  43.  
  44.  }
  45.  
  46.  
  47. }
  48.  

Gracias !!
35  Programación / Programación C/C++ / copiar caracteres uno a uno en: 23 Mayo 2015, 04:53 am
Buenas a todos !!

tengo una duda , tengo un par de horas tratando de hacer algo con un string es quiero copiar caracter a caracter usando varoas funciones pero nada de funcionar le pondre lo que he hecho.
Código
  1.  
  2.  
  3. #include<cstdlib>
  4. #include<cstring>
  5. #include<iostream>
  6.  
  7. using namespace std;
  8.  
  9. void copiar(){
  10.   char *szBuffer1 = "mi cadena es esta ";
  11.   char *szCopia;
  12.  char  caracterAcaracter[30];
  13.  
  14.   ///la plataforma en la que lo uso no tiene malloc
  15.  memset(szCopia, 0x00, strlen(szBuffer1));
  16.  
  17.  
  18.    for(int i = strlen(szBuffer1)); i < -1 ; i--)
  19.      {
  20.  
  21.       caracterAcaracter[i] = szBuffer[1];
  22.      strcat(szCopia, szBuffer1[i]);
  23.     strcpy(szCopia, szBuffer1[i]); ///igual pasa con los que piden n caracateres para cpiar
  24.                                                   /// no me deja por que el segundo argumento pide const char *
  25.                                                   ///strtok no se bien si alguien me aconseja si me conviene                                                
  26. }
  27.  
  28.  
  29.  
  30.  
  31.  
  32. }
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  




podrian darme algun consejo o decirme donde podria leer mas sobre lo string y caracteres , gracias y discuplen la molestia .
36  Programación / Programación C/C++ / string & parametro dudas !! en: 18 Mayo 2015, 14:42 pm
Buenas a tod@s aqui !!

tengo una duda con el siguiente codigo !!
 vean el codigo !! si se que me paso dandole mas tamanio a len pero por que cuando lo imprimo me sale el pause de system es posible obtener una explicacion. graciass Y disculpen la molestia :)

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. void reverse(const char *rev)
  7. {
  8.    int len = strlen(rev) + 5 ;
  9. char *reverse = new char[len];
  10. for(int i=0 ; len > 0 ; len--,i++){
  11.   reverse[i] = rev[len];
  12.       cout <<rev[len];
  13.  }
  14.  cout <<endl;
  15.  delete reverse;
  16. }
  17.  
  18.  
  19.  
  20. int main(int argc, char *argv[])
  21. {
  22. const char *szstring = "linda";
  23. reverse(szstring);
  24. system("pause");
  25. return 0;
  26. }
  27.  
37  Programación / Programación C/C++ / duda: Array multidimensionales en: 26 Abril 2015, 17:06 pm
buenas a todos aqui !!

espero y deseo que todos esten bien !! ejej
bien tengo una duda nueva estoy tratando de  leer unos caracteres desde un fichero y los estoy tratando de capturar en un arreglo de dos dimensiones en otros lenguajes como java y c# me ha funcionado bien pero en c++ que es mi caso o no me muestra nada y me imprime como ordeno o simplemente me muestra numero que supongo que son las direcciones de memoria de las variables dentro del arreglo posteo el codigo para ver si alguien me dice en que me equivoco , gracias e ante mano..


Código
  1. void cargarArray()
  2. {
  3.    fstream entrada("map.txt", ios::in);
  4.     if(!entrada.is_open())
  5.        cout <<"dddd";
  6.  
  7.    char temp =NULL;
  8.    char arreglo2d[20][20];
  9.    for(int t(0); t<20;t++){
  10.      for(int i(0); i < 20 ; i++)
  11.       {
  12.          entrada << temp;
  13.          arreglo2d[t][i] = temp;
  14.       }
  15.    }
  16.  
  17.  
  18.    for(int t(0); t<20;t++){
  19.       cout <<'\n';
  20.      for(int i(0); i < 20 ; i++)
  21.       {
  22.  
  23.          cout << arreglo2d[t][i] <<' ';
  24.       }
  25.    }
  26.  
  27.  
  28. }

esto compila pero no me presenta el resultado esperado !!
38  Informática / Hardware / puertos usb !! en: 17 Abril 2015, 12:53 pm
Saludos a todos !!

espero y deseo que tdoo este bien bueno mi duda es la siguiente tengo una laptop que los puertos usb no funcionan para datos cuando le conecto un mouse o una memoria que tiene led se prende el led o el laser del mouse pero no pasa nada excepto eso lo he probado en linux ,windows... tambien la lleve a un tecnico la destapo y me dijo que no era problema de hardware ademas entre al BIOS y todos los controles de usb estan encedidos, es posible que sea problema de FIRMWARE  ?


Gracias de antemano;
39  Programación / Programación C/C++ / Union vs struct , campo de bit en: 10 Abril 2015, 22:49 pm
Buenas a todos !!!


Hoy vengo con otra duda , se el uso basico de las uniones y las estructuras pero me gustaria que me explicaran cual es la ventaja de usar estructura y ventaja de usar uniones

pondre un ejemplo mas abajo para ver si me doy a enteder mejor

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  int main(){
  5.  
  6.   struct stTest{
  7.     char caracter;
  8.     int entero;
  9.  };
  10.  stTest test1;
  11.  test1.caracter= 'a';
  12.  test1.entero   = 1;
  13.  
  14.  cout << test1.caracter << test1.entero <<endl;
  15.  /////Esto simplemente imprime : a1
  16.  union  unTest{
  17.    char caracter;
  18.    int    entero;
  19.  };
  20. unTest test2;
  21.   test2.caracter= 'a';
  22.  test2.entero   = 1;
  23. cout << test2.caracter << test2.entero <<endl;
  24.  /////Esto simplemente imprime : @1
  25.  
  26. }
  27.  
  28.  


Entiendo que en las uniones todos los campos comparte el mismo espacion de memoria
eso es importante pero pero por que se usa mucho .. alguien me puede dar ejemplos de  caso de uso por favot , y aparte alguien me puede explicar eso de los campos de bit.

no soy nuevo pero nunca lo he usado y quisiera comprender para que se usa pero los cursillos , libro que he visto no me dejan entender el por que y para que eso y algunas cosas, Gracias de antemano.
40  Programación / Programación C/C++ / unsigned int 8 , unsigned int 8 y demas [DUDA] en: 8 Abril 2015, 19:02 pm
Buenas a todos !!
Me gustaria consultar si es posible que alguine me explique como puedo usar los tipos de datos :

Código
  1. unsigned int8 O uint8_t;
  2. unsigned int16 o uint16_t
  3.  
  4.  

se que puedo usar
Código
  1. #include<stdint.h>
  2.  

pero me gustaria por favor si es posible que alguine aqui me de una explicacion de uso y utilidad.


Gracias por todo!!
Páginas: 1 2 3 [4] 5 6 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines