Jump to content

Segmentation Fault


bl00dy_Cod3r
 Share

Recommended Posts

Boa noite...

      Estou agora a iniciar-me em C e nos últimos programas que tenho feito aparece-me a seguinte mensagem:

Segmentation Fault

a que se pode dever isto?

Deixo aqui um exemplo de um dos código em que isto me aparece:

#include<stdio.h>

main()

{
File *fp;
chars s[100];

puts("Introduza o nome do ficheiro:");
gets("s");

fp=fopen (s, "r");

if (fp == NULL) 
printf("Impossível abrir o ficheiro %s\n",s);
else
{
printf("Ficheiro %s aberto com successo\n",s);
fclose(fp);
}
}

Estou a utilizar o gcc como compilador e deixa-me compilar...

o programa corre perfeitamente até à parte de "Introduza o nome do ficheiro"!

Obrigado

Link to comment
Share on other sites

Na linha "chars[100];" falta um espaço, foi da cópia?

Já agora, uma dica: para a próxima usa [code=c] para ficar mais legível.

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Link to comment
Share on other sites

@above: o que o bl00dy_Cod3r devia querer escrever era "char  s[100];", visto que depois usa a variável "s" várias vezes.

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Link to comment
Share on other sites

Tens razão, já estavamos a entrar em off-topic, desculpa por isso.

Em relação à outra duvida, depende do tamanho do ficheiro mas geralmente lê-se tudo para uma string e depois altera-se internamente e volta-se a escrever tudo no ficheiro, no entanto, como disse, depende do tamanho do ficheiro.

here since 2009

Link to comment
Share on other sites

Então percebi mal o teu problema.

Se queres escrever simplesmente tens várias funções que te fazem isso, é uma questão de fazeres uma pesquisa no google que encontra logo muitas respostas. Algo como "File I/O in C".

Depois de escreveres fica automaticamente gravado.

here since 2009

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.