Jump to content
Snulker

Erro ao fazer debug-sigsegv segmentation fault

Recommended Posts

Snulker

Antes demais bom dia a quem esteja a ler este artigo . Sou estudante e perciso  de ajuda num trabalho.

#define MAXQUADRAS 100

typedef struct
{
    char nmcvl[42];
    char sexo;
    int iddcvl,ncj,v;
    char qdrprtc[42];
} prtcpnt;

void dlt_ptr (prtcpnt infoprtcpnt[],int d )
{
     int i ;
     for (i=0;i<MAXQUADRAS;i++)
       {
        if (infoprtcpnt.ncj==d)
         {
            strcpy(infoprtcpnt.nmcvl,"Apagado");
            strcpy(infoprtcpnt.sexo,"Apagado");
            infoprtcpnt.iddcvl=0;
            infoprtcpnt.ncj=0;
         }
       }
    if (infoprtcpnt.ncj !=d )
            printf("Nao encontrado por favor tente novamente.");

}

Esta é a uma das  funções do meu programa em desenvolvimento e é aqui onde dá o erro sigsegv segmentation fault quando eu faço debug  e não sei o porquê  . Qualquer ajuda é bem vinda  e obrigado pelo seu tempo .  

Edited by Snulker

Share this post


Link to post
Share on other sites
Snulker
1 minuto atrás, HappyHippyHippo disse:

que tipo de dados é infoprtcpnt.sexo ?

é char mas eu enganei-me tenho nao posso atribuir "Apagado" ele está á espera de um caracter nao de uma string .

Share this post


Link to post
Share on other sites
HappyHippyHippo
Just now, Snulker said:

é char mas eu enganei-me tenho nao posso atribuir "Apagado" ele está á espera de um caracter nao de uma string .

isso quer dizer que já percebeste o problema ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Snulker
Agora, HappyHippyHippo disse:

isso quer dizer que já percebeste o problema ?

Mesmo resolvido o erro  o programa deixa de funcionar quando eu chamo a função ...

void dlt_ptr (prtcpnt infoprtcpnt[],int d )
{
     int i ;
     for (i=0;i<MAXQUADRAS;i++)
       {
        if (infoprtcpnt.ncj==d)
         {
            strcpy(infoprtcpnt.nmcvl,"Apagado");
            strcpy(infoprtcpnt.sexo,"A");
            infoprtcpnt.iddcvl=0;
            infoprtcpnt.ncj=0;
         }
       }
    if (infoprtcpnt.ncj!=d)
            printf("Nao encontrado por favor tente novamente.");

}

Share this post


Link to post
Share on other sites
HappyHippyHippo
4 minutes ago, Snulker said:

é char mas eu enganei-me tenho nao posso atribuir "Apagado" ele está á espera de um caracter nao de uma string .

se está a espera de um caracer, porque é que continuas a tentar enfiar uma string ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Snulker

Ah já percebi  mas o problema é que não sei se é assim que se declara ...

 strcpy(infoprtcpnt.sexo,'A'); 

Share this post


Link to post
Share on other sites
Snulker

Oh pois é eu fiquei tão obcecado com as strings que me esqueci completamente que estava a trabalhar com char .

infoprtcpnt.sexo='A';

ok obrigado pela sua ajuda .

Edited by Snulker

Share this post


Link to post
Share on other sites
HappyHippyHippo

ps : para a proxima tenta escrever nomes das variáveis meis descritivas do que realmente fazem


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
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

×
×
  • 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.