Windows 및 UNIX에서 실행되는 C++ 응용 프로그램 (콘솔)이 있습니다. 이 응용 프로그램은 출력 파일을 사용하여 시스템 호출/인쇄/etc의 자세한 로그 파일을 출력합니다. 새로운 특징이 추가 된 후에 시그널 11/2를 얻는 경우가 있습니다. 이제 신호 11이 발생할 때 출력 파일이 제대로 닫히지 않기 때문에 로그 파일에서 '거의 완전한'정보를 얻
이 코드 줄은 다음과 같습니다. fprintf(stdout, "message", fflush(stdout));
메시지에 % 태그가 들어 있지 않습니다. Visual C++에서 안전합니까? fflush()는 성공시 0을 반환하고 실패하면 EOF를 반환합니다. fprintf()는이 추가 매개 변수로 무엇을 할 것입니까? 처음에는 이것이 여분의 라인을 필요로
나는 데이터베이스와 같은 프로그램을 작성하고 있습니다. 내가 fclose(3)의 설명서를 읽는 동안 FILE* 버퍼를 디스크로 플러시 (실제로는 OS 버퍼로 플러시하지만 지금은 문제가되지 않는다. fsync(2)이라고 부를 수있다)라는 메시지가 나타났습니다. DB를 작성 했으므로 데이터 손실을 막으려 고합니다. 그래서 내가 fflush(3)의 명시 적 사용
Oracle 저장 프로 시저에서 7MB를 초과하는 큰 파일을 작성하고 있으며 각 레코드 끝에 줄 끝 문자 (캐리지 리턴/줄 바꿈 없음)가 있어야합니다. 저는 UTL_FILE.PUT을 사용하여 저장 프로 시저를 작성했으며 UTL_FILE.PUT에 UTL_FILE.FFLUSH가 호출 될 때마다이를 수행하고 있습니다. FFLUSH 호출을 작성하고 있지만 버퍼 크
fsync()는 fflush()를 내부적으로 수행하므로 스트림에서 fsync()를 사용하면 문제가 없다고 생각합니다. 하지만 네트워크 I/O에서 실행하면 예기치 않은 결과가 나타납니다. 내 코드 : FILE* fp = fopen(file,"wb");
/* multiple fputs() call like: */
fputs(buf, fp);
...
..
QT/C++로 작성된 장기 실행 서버 프로그램 (예 : 프로그램 A)이 있습니다. 프로그램이 너무 안정적이 아니므로 충돌이 발생하면 다시 시작할 수 있도록 python 스크립트를 작성하기로 결정했습니다. 문제는 프로그램이 실패한 것입니다 (사용중인 포트를 제공 한 경우). 오류를 인쇄 한 다음 종료하지 않고 그냥 기다려서 프로그램의 stdout을 모니터하고