그래서 이것은 어리석은 질문 일 뿐이지 만 내가 잘못하고있는 것을 볼 수 없습니다.출력 리디렉션을하면 빈 파일이 생성됩니다.
./ar
과 같이 호출하면 출력을 생성하는 프로그램을 실행하고 있습니다. 출력은 다음과 같습니다.
-0.00781 0.02344 0.98828
-0.01172 0.02734 0.98828
-0.01562 0.02344 0.98047
-0.00781 0.02344 1.00000
-0.00391 0.02344 0.98438
매초마다 새로운 출력 라인이 작성됩니다.
./ar > log
과 같은 코드를 호출하고 몇 초 후 ctrl-c
을 사용하여 프로그램을 종료하면 log
파일이 비어 있습니다.
이 코드는 임베디드 시스템에서 실행하고 있습니다. 시스템에는 내가 실행중인 파티션 인 쓰기 가능한 파티션이 있으며 루트로 로그인 할 때 쓰기 권한이 있습니다.
리디렉션하면 출력은 블록 버퍼가 아니고 블록 버퍼가됩니다. 블록이 가득 차기 전에 Ctrl-C를 누르면 파일에 아무 것도 기록되지 않습니다. 'fflush (stdout)'을 사용하여 파일에 즉시 쓰게 할 수있다. –
고마워, 내 문제가 해결, 나는 모든 printf 성명 이전에이 줄을 실행해야했다. – James
'printf'가 더 자연 스럽다. –