파일에 쓰는 Linux에 간단한 코드를 작성하고 있습니다. 그 파일은 특정 경로 (실행 파일이 위치한 경로가 아님)에 저장됩니다. 문제는 코드를 실행할 때 프로그램이 세그먼트 화 오류 (코어 덤프)로 끝나는 것입니다.C++ fopen fwrite 특정 경로로 선택하십시오.
여기에 있습니다 코드 : 프로그램의 EXE가에 있음을
#include <stdio.h>
int main()
{
FILE * pFile;
char buffer[] = { 'x' , 'y' , 'z' };
pFile = fopen ("/home/medwajih/Desktop/bufferfile/buffer.txt", "wb");
fwrite (buffer , sizeof(char), sizeof(buffer), pFile);
fclose (pFile);
return 0;
}
참고 "/ 홈/medwajih/데스크탑 /"나는이 buffer.txt 파일을 생성 할 위치는 "/ 홈/medwajih/데스크탑/bufferfile입니다/"
감사합니다.
'fopen()'의 결과를 확인하지 마십시오. 'NULL'이 아닌게 확실합니까? – user0042
'/ home/medwajih/Desktop/bufferfile' 폴더가 존재합니까? 쓰기 권한이 취소되지 않았습니까? 파일이 다른 프로세스에 의해 잠겨 있지 않습니까? –
안녕하세요, 실행 파일이 바탕 화면에 있고 폴더 "bufferfile"도 바탕 화면에 있기 때문에 잘 작동하지만, 예를 들어 "/home/medwajih/Downloads/bufferfile/buffer.txt"와 같은 다른 경로를 사용하면 코드가 종료됩니다. 세분화 오류가있는 경우 –