<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<br><br><div><div id="SkyDrivePlaceholder"></div>> Date: Sat, 29 Sep 2012 17:06:14 -0400<br>> From: srd4121@njit.edu<br>> To: cconclase@listas.conclase.net<br>> Subject: Re: [C con Clase] especificador de formato %n<br>> <br>> Hola César,<br>> <br>> 2012/9/29 cesar arias <sinatra435@hotmail.com>:<br>> > Hola, me ayudan a utilizar el especificador de fomato %n. Tengo el siguiente<br>> > codigo, pero no muestra el resultado que esperaba:<br>> ><br>> > #include <stdio.h><br>> ><br>> > int main() {<br>> ><br>> >     int numChars;<br>> >         int a = 1;<br>> >         int b = 12;<br>> ><br>> >         printf("%d %d %n", a, b, &numChars);<br>> >         printf("\nThe above line contains %d characters.", numChars);<br>> ><br>> >     return 0;<br>> > }<br>> ><br>> > Se supone que numChars almacena la el numero de caracteres escritos asta<br>> > donde esta %n, pero no es lo que sucede.<br>> ><br>> <br>> El problema es que estás usando la versión de 'printf()' de MS-Windows<br>> Vista/7. Para arreglar un problema de seguridad usando %n, por<br>> defecto, su versión de 'printf()' ignora %n. Si quieres habilitar este<br>> especificador, entonces tienes que invocar la función,<br>> '_set_printf_count_output()', de MS-Windows, con un entero distinto de<br>> 0 (cero). Por ejemplo,<br>> <br>> <br>> int main()<br>> {<br>>   _set_printf_count_output( 1 );<br>>   ...<br>>   printf( "%d %d %n", a, b, &numChars );<br>>   ...<br>> }<br>> <br>> Y ahora funcionará debidamente. Claro que en otras plataformas, esto<br>> no es un problema.<br>> <br>> Ahora bien, con el ejemplo que has puesto, puedes guardar el entero<br>> retornado por 'printf()' para saber la cantidad total de caracteres<br>> impresos.<br>> <br>> <br>> Espero que esto aclare la duda.<br>> <br>> Steven<br>> <br>> _______________________________________________<br>> Lista de correo Cconclase Cconclase@listas.conclase.net<br>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<br>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ<br><br><br><pre>Lo del problema de seguridad lo explica todo.<br><br>Trato de utilizar la funcion '_set_printf_count_output()' pero me sale un mensaje que dice que esta indefinida.<br><br>NOTA: estoy utilizo el compilador Dev C++.<br><br>Grasias.</pre>
<br></div>                                    </div></body>
</html>