Ir para conteúdo
Fórum Script Brasil
  • 0

Inserir dados em arquivo


Rômulo_SD

Pergunta

Minha pergunta é como se faz para ler uma variável do tipo short e colocar em um arquivo

estou tentando dos dois jeitos o do c e o do c++ mas os dois tão dando erro:

Será que por eu estar abrindo do jeito c++ o modo de leitura do c não funciona?

ofstream myfile;
    myfile.open ("alunos.dat");
    short num;

    cout<<"Digite numero:";
    cin>>num;
    //myfile.write(num,sizeof(short));

    //fwrite(num,sizeof(short),1,myfile);

esse é o erro do c++:

invalid conversion from 'short int' to 'const char*'

e esse é o do c:

invalid conversion from 'short int' to 'const void*'|

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Você tava tentando mandar um inteiro para uma função que recebe um ponteiro. Para resolver, use a referência (%num) e converta-a explicitamente para const char * usando reintepret_cast.

Não use fwrite(), é uma função da cstdlib e você está usando as classes de manipulação de arquivos do C++, portanto fique com a ofstream::write().

#include <fstream>
using std::ofstream;
#include <iostream>
using std::cout;
using std::cin;

int main(void)
{
    ofstream myfile;
    myfile.open ("alunos.dat");
    short num;

    cout<<"Digite numero:";
    cin>>num;
    myfile.write(reinterpret_cast<const char *>(&num),sizeof(short));

    return 0;
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...