Ir ao conteúdo
  • Cadastre-se

problema com segmentation fault - sei aonde é, so nao sei o que faço de errado


pfpietro

Posts recomendados

Boa tarde pessoal.

To fazendo um programa que eu tenho que copiar as strings do ARGV[] para um vetor de ponteiros.


int main(int argc, char** argv)
{
int j, i, x, m, n,status, cont;
int k;
char* comandi[10];
k=0;
n=argc;
k=atoi(argv[1]);

for(cont=0;cont<k;cont++)
{
comandi[i]=strdup(argv[i+1]);
}
//x=paralelo(k);
printf("os comandos sao: %s\n %s\n %s\n ", comandi[0], comandi[1], comandi[2]);
}

O problema é que se eu deixar a linha "k=atoi(argv[1]);" ele me da segmentation fault na hora de chamar o programa pelo nome, por exemplo

./programa 5 file1 file2 file3

ele teria em argv[1] a string "5"

com o atoi eu transformaria ela pra um inteiro e armazenaria o valor em "k", correto ?

Mesmo assim, tirando a linha k=... o programa roda e me retorna uns caracteres ilegeiveis no printf final.

alguém pode me dizer q q eu to fazendo de errado ?

ja tentei até usar o strdup pra alocar a memoria mas mesmo assim acho q eu to fazendo algo errado.

ajuda ???

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...