Pesquisar na Comunidade
Mostrando resultados para as tags ''leitura de arquivos''.
Encontrado 2 registros
-
Estou escrevendo um código onde preciso ler dois arquivos: em um deles há apenas uma linha com 20 caracteres; no outro há muitas linhas, todas com 20 caracteres. Meu objetivo é comparar cada linha do segundo arquivo com a única linha do primeiro arquivo. O resultado da comparação será gravado em um terceiro arquivo onde para cada caractere que coincidir, eu atribuo o valor 1 e, para cada caractere que não coincidir, eu atribuo 0. O que não consigo compreender é porque, apesar da função fgets está capturando todos os caracteres desejados dos arquivos, ela não está comparando o primeiro caractere do arquivo 1 com o primeiro caractere de cada linha do arquivo 2. (sei disso porque, antes do laço, se eu imprimo os caracteres lidos do arquivo 1, eu consigo visualizar todos que desejo. Porém, se imprimo os caracteres lidos do mesmo arquivo, dentro do laço, o código não imprime o primeiro caractere do arquivo 1). Abaixo, o código. #include <stdbool.h> #include <string.h> #include <stdlib.h> #include <locale.h> #include <stdio.h> main(){ //Declara variáveis e solicita do usuário a entrada do gabarito oficial char gabarito_oficial[21],gabarito_individual[21]; int i=0; //abre o arquigo de gabaritos dos candidatos para leitura e cria e abre o arquivo onde irá escrever os gabaritos corrigidos //também abre o arquivo com o gabarito oficial FILE *fp1=fopen("gabaritos.txt","r"); if (fp1==NULL) printf("não foi possível abrir o arquivo gabaritos.txt"); FILE *fp2=fopen("gabaritos_corrigidos.txt","w"); if (fp2==NULL) printf("não foi possível criar o arquivo gabaritos_corrigidos.txt"); FILE *fp3=fopen("gabarito_oficial.txt","r"); if (fp3==NULL) printf("não foi possível abrir o arquivo gabaritos.txt"); //laço para ler o gabarito de cada candidato individualmente e comparar item a item com o gabarito oficial que está na variável //gabarito_oficial fgets(gabarito_oficial,22,fp3); while (fgets(gabarito_individual,22,fp1)!=NULL){ while (i<20){ if(gabarito_individual==gabarito_oficial) fputc(49,fp2); else fputc(48,fp2); i=i+1; } i=0; fputc(10,fp2); } fclose(fp1); fclose(fp2); fclose(fp3); return 0; }
- 1 resposta
-
- leitura de arquivos
- fgets
- (e %d mais)
-
[URGENTE] Rodando programa em C, com dados em arquivo externo
uma questão postou matheuspertile C, C++
Boa tarde! Estou fazendo uma I.C. onde estou precisando aprimorar um programa de geração de demanda. Basicamente, ele gera números aleatórios baseando em alguma distribuição de probabilidade (nesse caso: uniforme, poisson e log normal). O programa tem um conjunto de entradas: Número de dias (funciona como numero de linhas de uma matriz); Número de nós (funciona como numero de colunas de uma matriz); Número médio de "picos" de demanda por nó; Duração média de cada "pico"; Demanda média em cada pico; Demanda média sem a ocorrência de pico; Demanda máxima; Ele roda e gera um arquivo .xls com a matriz (Número de dias X Número de nós); Meu orientador pediu para que essas entradas listadas acima fossem lidas a partir de um arquivo externo. Ou seja, já existiria um .txt ou .xls com esses dados, o programa ao rodar deve buscar esses dados e gerar a matriz, para evitar o trabalho de colocar esses dados. Alguém pode me ajudar como fazer isso? Estou completamente perdido em por onde começar! Obrigado!-
- linguagem c
- manipulação de arquivos
- (e %d mais)