Re: Ler / Escrever bits a porta LPT

N

neazoi

Guest
Queridos todos,
Eu construir um programa em Borland C 3.1 (dos requisitos) a ler zeros e uns a partir de um arquivo txt, e enviá-las para a porta LPT.(o procedimento inverso tem que ser feito muito próxima).

O meu código está aqui:

/ * Programa para ler dados na IN.TXT e depois imprimi-la na tela usando um atraso definido pelo usuário * /

#
include <stdio.h>
#
include <conio.h>
#
include <stdlib.h>
#
include <dos.h>

int i, o, x;
int main (void)
(
printf ( "Entrada de atraso valor entre bits:"); / * ler um número inteiro a partir do fluxo de entrada padrão * /

if (fscanf (stdin, "% d", & i)) (
printf ( "O valor do atraso foi definida como:% i \ n", i);
)
diferente
(
fprintf (stderr, "Erro ao ler um número inteiro valor. \ n");
exit (1);
)

FILE * in, * out, * c;

if ((in = fopen ( "IN.TXT", "rt"))
== NULL)
(
fprintf (stderr, "Can't open input file. \ n");
return 1;
)

if ((out = fopen ( "OUT.TXT", "wt"))
== NULL)
(
fprintf (stderr, "Não é possível abrir arquivo de saída. \ n");
return 1;
)while (! feof (in)) (
fputc ((fgetc (in)), c); / * ponha ler char em tampão c * /
for (o = 0; o <30000; o ) (/ * variável atraso * /
for (x = 0, x <i; x ){}
)
fprintf (c, "% d");
)
fclose (in);
fclose (out);
return 0;
)Agora o problema está na linha fprintf (c, "% d"), como ele retorna o valor da personagem?e não o personagem em si própria tela do terminal (Preciso tanto impressos no terminal e, em seguida, enviado ao LPT).Eu sei o que o erro é (c não é um char), mas não sei como corrigi-lo

Se eu consiga imprimir 1s e 0s, então eu provavelmente poderia enviá-los como bits a LPT.
Por exemplo, se c == 0, em seguida, defina os bits.

Gostaria muito de receber alguma ajuda sobre esteAdicionado após 3 horas 27 minutos:Olá eu tenho que corrigir.

uma outra maneira de ler o arquivo.

#
include <stdio.h>
#
include <conio.h>
#
include <stdlib.h>
#
include <dos.h>
#
include <string.h>

int i, o, x;
int main (void)
(

printf ( "Entrada de atraso valor entre bits:"); / * ler um número inteiro a partir do fluxo de entrada padrão * /

if (fscanf (stdin, "% d", & i)) (
printf ( "O valor do atraso foi definida como:% i \ n", i);
)
diferente
(
fprintf (stderr, "Erro ao ler um número inteiro valor. \ n");
exit (1);
)FILE * stream;
/ * char string [] = "Este é um teste"; * /
char ch;

/ * Abrir um arquivo de atualização * /
stream = fopen ( "IN.TXT", "rt");

/ * Escrever uma string para dentro do ficheiro * /
/ * fwrite (string, strlen (string), 1, stream); * /

/ * Visam o início do arquivo * /
fseek (stream, 0, SEEK_SET);

fazer
(
/ * Ler um char a partir do ficheiro * /
ch = fgetc (stream);

/ * Exibir o caractere * /
putch (CH);

/ * Inserir variável atraso * /
for (o = 0; o <30000; o ) (
for (x = 0, x <i; x ){}
)

) While (ch! = EOF);

fclose (stream);
return 0;
)

 

Welcome to EDABoard.com

Sponsor

Back
Top