Ir para conteúdo
Fórum Script Brasil

gabrieldestro

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre gabrieldestro

gabrieldestro's Achievements

0

Reputação

  1. Olá a todos, Preciso escrever em um arquivo binário, no entanto, estou incerto quanto a formatação. Preciso escrever um registro de nome jogador[], contendo um numero variável de jogadores determinado pela variável nJogadoresBin. Esse registro contém uma string, com o nome do jogador e seis inteiros correspondentes a 6 notas. Preciso que o arquivo de saída tenha o formato do seguinte exemplo: 3 NomeA 0 0 0 0 0 0 NomeB 1 1 1 1 1 1 NomeC 2 2 2 2 2 2 Sendo 3, o valor de nJogadoresBin. Os Nomes, as strings. E os numeros, as notas de cada jogador. A minha dúvida é em relação a formatação, como é um arquivo binário, não consigo checar pessoalmente o conteúdo, testei de duas formas, mas nenhuma funciona, como posso alterá-las? fwrite(&nJogadoresBin, sizeof(int), 1, arqout); fwrite(&jogador[0], sizeof(Jogador), nJogadoresBin, arqout); fwrite(&nJogadoresBin, sizeof(int), 1, arqout); fwrite("\n", sizeof(char), 1, arqout); for (i = 0; i < nJogadoresBin; i++) { fwrite(&jogador[i], sizeof(Jogador), 1, arqout); fwrite("\n", sizeof(char), 1, arqout); } Devo considerar a quebra de linhas como na segunda alternativa, ou não? Ou ainda, esta parte está correta e o erro está em outra? Existe alguma forma de visualizar o conteúdo do arquivo de forma fácil? Obrigado.
  2. Obrigado a ajuda de todos, mas na verdade o problema nem era no buffer, era uma coisa mais estúpida que isso. for ( i = 0; i < nExecucoes; i++ ) { scanf ( "%d", &programaNumero[i] ); } essa parte deveria ler uma linha de caracteres como: 2121235326262 Obviamente eu não poderia ler isso como inteiro, como eu estava tentando fazer. Hahahaha Obrigado a ajuda de todos!
  3. Olá a todos, Estou tendo problema na leitura dos valores do meu código. Primeiro eu leio 5 inteiros, depois uma matriz de caracteres, um vetor de inteiros e por fim mais uma matriz de caracteres. Aparentemente o programa não está lendo o vetor de inteiros, mas provavelmente um \n ou alguma coisa assim no buffer de entrada. A minha suposição está correta? Como posso limpar o buffer de forma que ele leia o vetor? Já tentei de varias maneiras, mas nada deu certo. #include <stdio.h> int main() { int nPosicoes, maxCaixas; int nProgramas, maxComandos; int nExecucoes; int programaNumero [60]; char programa [9] [61]; char posicao [10] [11]; int i; scanf("%d", &nPosicoes); scanf("%d", &maxCaixas); scanf("%d", &nProgramas); scanf("%d", &maxComandos); scanf("%d", &nExecucoes); for (i = 0; i < maxCaixas; i++) { scanf("%s", posicao[i]); } for (i = 0; i < nExecucoes; i++) { scanf("%d", &programaNumero[i]); } for (i = 0; i < nProgramas; i++) { scanf("%s", programa[i]); } Não sei se isso serve de alguma coisa, mas programo em linux. obrigado.
×
×
  • Criar Novo...