polska Posted April 30, 2012 at 11:51 PM Report #452409 Posted April 30, 2012 at 11:51 PM Pessoal, eu recebo um int M, que me dá o numero de bits do ficheiro (isto em contexto de problema)... Eu sei que não é possível fazer scanf("%.Ms") (limitar a string com M caracteres), mas existe alguma maneira de eu por ali o numero que esta em M? Ou alguma maneira de limitar a strinf dando o M? Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
Baderous Posted May 1, 2012 at 12:11 AM Report #452410 Posted May 1, 2012 at 12:11 AM Sim, podes fazer: scanf("%10s",str); Isto lê 10 caracteres (no máximo) para a string str.
polska Posted May 1, 2012 at 12:21 AM Author Report #452411 Posted May 1, 2012 at 12:21 AM Sim, podes fazer: scanf("%10s",str); Isto lê 10 caracteres (no máximo) para a string str. Eu sabia disso, mas por exemplo, imagina que o M é 7 .. se eu não conssigo por %Ms , como é que eu vou colocar ali 7? E imagina que no teste asseguir, o M é 5, como é que eu meto ali 5..? Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
bsccara Posted May 1, 2012 at 01:16 AM Report #452419 Posted May 1, 2012 at 01:16 AM Basta lembrares-te que o primeiro parâmetro do 'scanf' também é uma string. Podes compor essa string de formato como quiseres, com o 'strcpy' e 'strcat' e passá-la ao 'scanf'. Por exemplo : char pr[11]; char cs[11]; sprintf(pr,"%%%ds",4); /* pr = "%4s" */ scanf(pr,cs);
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now