Jump to content

Limitar caracteres de string ?


Recommended Posts

Posted

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.

Posted

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.

Posted

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);

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.