쓰기에 fwrite :나는이 기능을 사용하여 파일에 단어를 쓰기 위해 노력하고있어 정수
extern void write_int(FILE * out, int num) {
fwrite(&num,sizeof(int),1, out);
if(ferror(out)){
perror(__func__);
exit(EXIT_FAILURE);
}
}
그러나 나는 그것이에 fwrite를 실행하려고 할 때마다 세그먼트 오류를 얻을. 나는 fwrite (3)의 맨 페이지를 보았고 제대로 사용했다고 느낀다. 내가 놓친 것이 있는가?
플랫폼/컴파일러는 무엇입니까? 정렬 문제는 중요 할 수 있습니다. – abelenky
'out'이'NULL'이 아닌지 확인하십시오. 나머지는 괜찮습니다. –
이 코드를 테스트했을 때 나는 "test"라는 테스트 파일에 쓰기를 결정했다. 테스트 파일은 내 테스트 프로그램의 바이너리 이름이기도하여 나에게 segfault를 주었다. >. <그래서 함수 자체는 괜찮습니다. N 1.1과 다른 사람들이 제안한 것처럼 당신이 전달하는 것이 유효한지 확인하십시오. –