Autor
|
Tema: Problema con strings (Leído 2,508 veces)
|
FMLTGRD
Desconectado
Mensajes: 16
|
Buenas tardes, tengo un pequeño problema al trabajar con arreglos de caracteres, mi programa tiene un método getText que recibe como parámetro un HWND que debe de corresponder a un control "EDIT". El problema es que no puedo limitar la cantidades de caracteres del arreglo. Si alguien me puede ayudar se lo agradecería mucho. Les dejo el código de la función: TCHAR lpstrBuffer[5] = "....";
void getText(HWND campoTexto){
HWND campoTexto; SendMessage(c, EM_GETLINE, 0, (LPARAM)lpstrBuffer); printf("%s\n", lpstrBuffer);
}
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Los arreglos de caracteres, cuando se interpretan como texto, o se envía junto al puntero la cantidad de caracteres a usar, o es que el método lee hasta que encuentra un byte nulo (0,'\0').
|
|
|
En línea
|
|
|
|
FMLTGRD
Desconectado
Mensajes: 16
|
Si, eso lo sé. El problema es que a pesar de que puedo ingresar los datos, no puedo hacer que el array solo permita una cierta cantidad de caracteres, ya que aunque el tamaño del arreglo es de 5, si escribo más de 5 caracteres estos se guardan en el buffer.
Gracias por tu ayuda.
|
|
|
En línea
|
|
|
|
kafok
Desconectado
Mensajes: 24
|
Haber, lo que puedes hacer: PD: tengo la api de window un poco olvidada, pero creo que los buffers que devuelve windows no terminan en caracter nulo, cuidado!
|
|
|
En línea
|
|
|
|
FMLTGRD
Desconectado
Mensajes: 16
|
Muchas gracias, es justo lo que necesitaba, en verdad te lo agradezco. Por otra parte ¿de pura casualidad no sabrás como el api de windows delimita un string si no es con el caracter nulo?
|
|
|
En línea
|
|
|
|
kafok
Desconectado
Mensajes: 24
|
No estoy seguro de eso, pero creo que me dio problemas cuando trabaje con los edit y creo que no llegue a solucinar del todo, pero el mensaje EM_GETLINE devuelve cuantos caracteres a copiado. Si devuelve 4, pues en tu buffer la quinta posicion la pones a '\0', que el maximo es 9 y se copian 9 caracteres.... pues facil, reserva una mas, es decir 10, y si copia los 9 caracteres pon en tu buffer en la decima posicion el caracter nulo. Vamos, que lo hagas a mano como quien dice.
|
|
|
En línea
|
|
|
|
FMLTGRD
Desconectado
Mensajes: 16
|
Perfecto, en verdad no sabes cuanto te agradezco tu ayuda, me funcionó muy bien.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema de strings: Palindromos.
Ejercicios
|
j retirado
|
7
|
10,100
|
22 Julio 2009, 19:43 pm
por Ragnarok
|
|
|
Problema con STRINGS
Programación C/C++
|
kaskull
|
2
|
2,236
|
28 Diciembre 2012, 19:00 pm
por kaskull
|
|
|
Problema con strings
Programación C/C++
|
pablovg9
|
6
|
2,278
|
20 Julio 2015, 00:30 am
por pablovg9
|
|
|
Problema con if de comparación de Strings
Java
|
Runforyourlife
|
2
|
1,727
|
26 Noviembre 2016, 23:30 pm
por Runforyourlife
|
|
|
cifrado c++ problema con strings
Programación C/C++
|
Kaemis
|
2
|
2,622
|
28 Diciembre 2016, 10:53 am
por Kaemis
|
|