Enviado em 20/05/2013 - 16:45h
E ai pessoal, beleza? Estou fazendo um programinha aqui simples pra fazer conversão de unidades, mas está dando erro de segmentação quando eu tento rodar o programa, será que alguém pode me ajudar?/*Programa para conversão de KJ em Kcal Autor: Djalma Lacerda de Oliveira Junior */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 1000 int cont; float x[MAX], y[MAX], xk[MAX], yk[MAX]; char name_input[MAX], name_output[MAX]; void Leitura(){ int i; FILE *input; printf ("Este programa converte dados de KJ para KCal\n"); printf ("Entre com o nome do arquivo de entrada: \n"); fgets (name_input, MAX, stdin); input = fopen (name_input, "r"); for (i = 0; i < MAX; i++){ fscanf (input, "%f", &x[i]); fscanf (input, "%f", &y[i]); if(y[i] == 0){ break; } cont = cont + 1; } fclose (input); } int Conversao(){ int i, n; n = 0; for (i = 0; i < cont - 1; i++){ yk[i] = (y[i] / 4.1868); } return 0; } int Impressao(){ int i; printf ("Entre com o nome do arquivo de saida: \n"); fgets (name_output, MAX, stdin); FILE *output; output = fopen (name_output, "w"); for (i = 0; i < cont-1; i ++){ fprintf (output, "%f ", x[i]); fprintf (output, "%f\n", yk[i]); } fclose (output); return 0; } int main(){ Leitura(); Conversao(); Impressao(); printf ("Os dados foram convertidos com sucesso!\n"); system ("pause"); return 0; }
Enviado em 20/05/2013 - 23:09h
Como você lê o nome do arquivo com fgets(), provavelmente o caráter de fim de linha está ficando no nome do arquivo. Com isso, é bem provável que a abertura do arquivo falhe, resultando num ponteiro nulo em input, o que explicaria plenamente o SIGSEGV.void chomp(char *str){ size_t len=strlen(str); if(len>0 && str[len-1]=='\n') str[len-1]=0; }
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Atualizador de Programas do Zorin 17.3 não funciona [RESOLVIDO] (5)
Linphonec não executa após clonagem de HD (2)