Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fiz esse programa em C que cria e escreve alguma coisa num arquivo, mas ele encerra com "Falha de Segmentacao", mas ele executa normalmente, cria o arquivo e escreve nele. Debuguei ele com o gdb do linux, o erro acontece depois do return(0) do main, aonde teoricamente nao tem mais nada para fazer... O que e por que esta dando esse erro de Falha de Segmentacao?
#include <stdio.h>
#include <unistd.h>
short sEscreve_Arquivo(char *szLinha){
FILE *fpArquivo = NULL;
char szNomeArq[20] = {0};
int iRes = 0;
sprintf(szNomeArq, "%s", "arquivo.txt");
iRes = access(szNomeArq, F_OK);
if(iRes == 0){
fpArquivo = fopen(szNomeArq, "at");
if(fpArquivo == NULL){
return(-1);
}
fputs(szLinha, fpArquivo);
fclose(fpArquivo);
}
else{
fpArquivo = fopen(szNomeArq, "wt");
if(fpArquivo == NULL){
return(-1);
}
fputs(szLinha, fpArquivo);
fclose(fpArquivo);
}
return(0);
}
int main(){
char *szTeste;
sprintf(szTeste, "%s", "Teste\n");
sEscreve_Arquivo(szTeste);
return(0);
}Carregando comentários...