Jump to content
Trinkes

Dúvida em fwrite

Recommended Posts

Trinkes

Alguem sabe se é possivel usar o fwrite desta forma?

fwrite(("eu tenho %d anos", idade),(sizeof("eu tenho  anos")+(sizeof(int)),1,f);

Onde idade é um int. A minha duvida é se posso enviar a string daquela maneira(("eu tenho %d anos", idade)).

Edited by Trinkes

Share this post


Link to post
Share on other sites
HappyHippyHippo

obviamente que não ... para não falar que tens p'rai umas contas que não fazem sentido

o que necessitas de fazer é:

char buffer[256];
sprintf(buffer, "eu tenho %d anos", idade);
fwrite(buffer, strlen(buffer) + 1, 1, f);

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Trinkes

obviamente que não ... para não falar que tens p'rai umas contas que não fazem sentido

o que necessitas de fazer é:

char buffer[256];
sprintf(buffer, "eu tenho %d anos", idade);
fwrite(buffer, strlen(buffer) + 1, 1, f);

Isso para ficheiros binários certo?

Esquece...estava a pensar mal...então esse sprinf apenas mete tudo em string certo?

Edited by Trinkes

Share this post


Link to post
Share on other sites
Trinkes

O problema é que eu tenho de guardar os valores como inteiros. Tenho de o fazer porque depois tenho de o ler como tal.

Edited by Trinkes

Share this post


Link to post
Share on other sites
Trinkes

?? o que estás p'rai a dizer ???

Ao gravar no ficheiro como disseste vou faze-lo como string certo?eu preciso que os valores sejam guardados como inteiros.

Share this post


Link to post
Share on other sites
HappyHippyHippo

olha bem para o teu primeiro post :

fwrite(("eu tenho %d anos", idade),(sizeof("eu tenho  anos")+(sizeof(int)),1,f);

qual é a razão de ter lá texto se queres a gravar em binário ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Trinkes

4 3

2 123 3 234 1

4 12 1 23 7 67 1 89 2

1 34 3

3 11 2 65 20 15 4

O que quero gravar é algo deste género...preciso dos espaços para poder separar os inteiros.

Share this post


Link to post
Share on other sites
Rui Carlos

Se queres guardar isso, por que é que estavas a colocar o eu tenho %d anos?

E não, em binário não precisas de espaço para separar os inteiros. Basta-te saber o tamanho dos mesmos. Podes usar directamente o fwrite com os inteiros.

Share this post


Link to post
Share on other sites

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.