Título: Problema con CommandLineToArgvW Publicado por: Usuario887 en 28 Febrero 2021, 20:59 pm Si un moderador pudiese meter todas mis preguntas en un solo tema se lo agradeceria... mis preguntas las haria en ese tema.
Estoy intentando hacer un programa sencillo utilizando el cifrado XOR para mediante una clave cifrar un archivo. Estoy intentando que el modificador -i especifique el archivo y que el modificador -k la clave. Sin embargo la funcion CommandLineArgvW aparentemente no me esta retornando un puntero a cadenas sino un puntero a caracteres. Especificamente el primer caracter de la cadena. ¿Como hago que retorne la cadena completa? Código
Citar mov ebx, lpArgv mov eax, 4 mul ecx add ebx, eax mov ebx, [ebx] push ecx invoke printf, t(0ah, 0dh, "Argument %d is %s"), ecx, ebx pop ecx Citar C:\Users\Programming\Desktop>console abc def Argument 1 is a Argument 2 is d C:\Users\Programming\Desktop> Título: Re: Problema con CommandLineToArgvW Publicado por: Eternal Idol en 28 Febrero 2021, 22:12 pm Estas llamando a CommandLineToArgvW por lo que te devuelve cadenas anchas donde cada caracter ocupa 16 bits. A printf le podes pasar %ws para comprobarlo.
https://docs.microsoft.com/en-us/windows/win32/learnwin32/working-with-strings PD. Los moderadores locales no tienen permisos para unir temas. Título: Re: Problema con CommandLineToArgvW Publicado por: Usuario887 en 28 Febrero 2021, 22:21 pm Estas llamando a CommandLineToArgvW por lo que te devuelve cadenas anchas donde cada caracter ocupa 16 bits. A printf le podes pasar %ws para comprobarlo. https://docs.microsoft.com/en-us/windows/win32/learnwin32/working-with-strings PD. Los moderadores locales no tienen permisos para unir temas. M*erda... tiene sentido. Con razon los siguientes 8 bits accediendos a ellos linealmente estan vacios... accedi a ellos como una prueba de su contenido. Muchisimas gracias por tu ayuda. |