Pergunta

Eu estou fazendo uma ferramenta de linha de comando usando o Xcode 4.

Recebo a EXC_BAD_ACCESS erro na linha com strcpy:

char *invalidOption = NULL;
strcpy(invalidOption, argv[2]);

argv[1], é -v (um "válido" opção) e argv[2]- z (um "inválido" opção).

Eu, então, precisa mudar "invalidOption" para apresentar razões (impressão a "mensagem" erro).

Alguma idéia do porquê isso está acontecendo?Por favor, deixe-me saber se você precisar de mais detalhes.

Foi útil?

Solução

strcpy não alocar memória para você.Você está tentando copiar a seqüência de caracteres para NULL, o que faz com que indefinido comportamento.Você precisa de algo como:

char invalidOption[10];
strcpy(invalidOption, argv[2]);

Apenas certifique-se de que invalidOption é grande o suficiente para segurar toda a seqüência de caracteres (incluindo o terminador nulo) ou você vai acabar com o mesmo problema.Você pode usar alocação dinâmica, se necessário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top