• Viernes 9 de Mayo de 2025, 10:05

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - sergio_

Páginas: [1]
1
C/C++ / Problema ASCII - Caracteres Con Tilde
« en: Sábado 29 de Octubre de 2011, 03:43 »
Buen dia gente!

Vengo a consultar sobre un problema que tengo con un tp T_T

Estoy en "C"
Resulta que estoy levantado en un buffer contenido de archivos de texto plano, y la idea es ir obteniendo palabras a partir del buffer
Los archivos de texto pueden estar en cualquier idioma

Por ejemplo:

Buffer = "Hola , cómo andan? todo bien gente?, espero que si! ;)"

Filtrando el buffer debería obtener los siguientes terminos

HOLA, COMO, ANDAN, TODO, BIEN, GENTE, ESPERO, QUE, SI

El filtrado de los signos de puntuación ya lo tengo, tmb manejo el tema de si el buffer me corta una palabra por la mitad y todo eso.
Para el filtrado lo que hago es fijarme que el caracter del buffer (Buffer[Pos]) pertenezca a los intervalos del Ascii  [65,90] ^ [97,122] ^ [128,165]

(Segun la tabla del ascii)
El intervalo [65,90] es para las minusculas
El intervalo [97,122] es para las mayusculas
El intervalo [128,165] es para las tildes y otras cosas raras

el problema que tengo con los tildes es que el codigo en 8 bits no pertenece a ese intervalo, o sea, ni siquiera son 8 bits por lo que veo

les dejo un ejemplo del codigo para ver los caracteres

Código: C
  1.  
  2. //Un Buffer levantado del disco que vale = Cómo estás
  3.         printf("Entre a obtener terminos con el buffer %s\n",buffer);
  4.         while (i != caractleidos){
  5.                 printf ("Caracter del buffer %c\n",buffer[i]);
  6.                 printf ("ASCII Caracter del buffer (sin signo) %u\n",buffer[i]);
  7.                 printf ("ASCII Caracter del buffer (con signo) %u\n",buffer[i]);
  8.                 i++;
  9.         }
  10.  
  11. //Salida por consola:
  12. Caracter del buffer C
  13. ASCII Caracter del buffer (sin signo) 67
  14. ASCII Caracter del buffer (con signo) 67
  15. Caracter del buffer
  16. ASCII Caracter del buffer (sin signo) 4294967235
  17. ASCII Caracter del buffer (con signo) -61
  18. Caracter del buffer �
  19. ASCII Caracter del buffer (sin signo) 4294967219
  20. ASCII Caracter del buffer (con signo) -77
  21. Caracter del buffer m
  22. ASCII Caracter del buffer (sin signo) 109
  23. ASCII Caracter del buffer (con signo) 109
  24. Caracter del buffer o
  25. ASCII Caracter del buffer (sin signo) 111
  26. ASCII Caracter del buffer (con signo) 111
  27. Caracter del buffer  
  28. ASCII Caracter del buffer (sin signo) 32
  29. ASCII Caracter del buffer (con signo) 32
  30. Caracter del buffer e
  31. ASCII Caracter del buffer (sin signo) 101
  32. ASCII Caracter del buffer (con signo) 101
  33. Caracter del buffer s
  34. ASCII Caracter del buffer (sin signo) 115
  35. ASCII Caracter del buffer (con signo) 115
  36. Caracter del buffer t
  37. ASCII Caracter del buffer (sin signo) 116
  38. ASCII Caracter del buffer (con signo) 116
  39. Caracter del buffer
  40. ASCII Caracter del buffer (sin signo) 4294967235
  41. ASCII Caracter del buffer (con signo) -61
  42. Caracter del buffer �
  43. ASCII Caracter del buffer (sin signo) 4294967201
  44. ASCII Caracter del buffer (con signo) -95
  45. Caracter del buffer s
  46. ASCII Caracter del buffer (sin signo) 115
  47. ASCII Caracter del buffer (con signo) 115
  48. Caracter del buffer
  49.  
  50.  
  51.  

Por lo que veo es como que tiene un flag adelante, o algo por el estilo y despues viene un caracter basura o algo asi

proba poniendo unsigned char, y me sigue pasando lo mismo pero con distintos numeros

si alguien me puede dar una mano estaria agradecido!
 



2
Hardware / ¿Problema de Hardware?
« en: Martes 18 de Octubre de 2011, 14:28 »
Buen dia gente, la verdad que no sabia si postear esto aca o no, porque en realidad no se que es lo que me esta pasando.

Les comento mi situación, yo tengo en la pc Windows Xp, con un Ubuntu virtualizado. Siempre apago la pc, no suelo tenerla prendida cuando me voy a acostar, el otro dia yo no estaba y la deje encendida en Ubuntu, y mi hermano me apago la maquina de forma forzosa (no se si la desenfucho, apago la zapatilla, o la apago directamente desde el cpu, hoy mismo averiguo esto). La cosa es que me esta tirando una serie de errores desde ese dia.

En ubuntu, cada vez que prendo dice unos errores, dice algo de "disabling IRQ #18", estuve buscando de esto pero no encontré demasiado con respecto a lo mio, y cada un cierto periodo X se tilda, titilan las luces del teclado y se reinicia la maquinal, X no es un tiempo fijo, pueden ser dos horas, 20 min, o 10 horas.

No habia entrado a windows desde ese día, hoy entre y me esta pidiendo la reactivacion de windows, busque por internet y me dice que esto puede ser por haber cambiando el disco, o la memoria según este link
"http://windows.microsoft.com/es-ES/windows-vista/Activating-Windows-frequently-asked-questions"

¿¿Alguno tiene idea de que puede haber pasado??

Bueno gente, desde ya muchas gracias!

3
C/C++ / Violacion de segmento al modificar el contenido de un puntero
« en: Sábado 24 de Septiembre de 2011, 02:56 »
Buenas gente, les paso a comentar lo que me ocurre y queria saber si alguien me puede decir porque me pasa esto.

Código: C
  1.         char buffer[8] = "hola com";
  2.         char* buffer2 = "hola com";
  3.  
  4.         buffer[0]='a';
  5.         buffer2[0] = 'a';
  6.  

Para el caso en que escribo buffer, anda lo mas bien, pero para el caso en que quiero escribir buffer2, me da violacion de segmento. No se si sera algo propio del ambiente unix o que, pero no se porque me ocurre esto. estoy modificando el contenido del puntero nada mas.

Tmb me ocurre en este caso:

Código: C
  1.  
  2. int* a = 123;
  3. *a = 245;
  4.  
  5.  

Bueno, si alguien me puede decir cual es el error se agradece.

Páginas: [1]