나는 개인적인 사용을위한 상당히 기본적인 프로그램을 작성하고 있지만, 좋은 습관을 사용하고 있는지 확인하고 싶다. 특히 나중에 좀 더 튼튼하게 만들면 더욱 그렇다.C의 파일 I/O에 대한 모범 사례는 무엇입니까?
프로그램은 인수로 일부 입력 파일을 받아들이고 파일에서 읽은 fopen()
을 사용하여 열거 나 해당 정보로 처리 한 다음 출력을 하위 폴더에 몇 개의 다른 파일로 저장합니다. 프로그램이 ~/program
에있는 경우 예는, 출력 파일은 내가 예를 output = fopen("./csv/output.csv", "w");
의 파일에 직접 바로 출력 한 후 가까운 fclose(output);
와 루프에 fprintf(output,"%f,%f", data1, data2);
로 인쇄하고, ~/program/csv/
에 저장되고 난 그냥 느낌 그것은 나쁜 습관입니다.
필자는 임시 디렉토리에 파일을 쓰고 그 파일을 끝낼 때 옮겨야합니까? 고급 파일 I/O 라이브러리를 사용해야합니까? 나는 이것을 완전히 과소 평가하고 있는가?
이 단순한 것을 위해, 나는 당신이 그것을 지나치게 생각한다고 생각합니다. 파일에 대한 유일한 프로세스 (또는 스레드) 인 경우 추가 작업이 필요 없습니다. –
스택 오버플로에 오신 것을 환영합니다. 너무 오래 전에 [FAQ]를 읽어주십시오. 이는 정확한 대답이없는 질문 일 수 있습니다. 대부분의 경우, 당신이하는 일은 괜찮습니다. 임시 디렉토리는 아마도 과잉 공격 일 것입니다. 'fclose()'가 작동하는지 확인하고 싶을 것이다. 그렇지 않은 경우 파일이 올바르게 작성되지 않았다고 가정해야하며 아마도 파일을 제거해야합니다. 각 출력 작업을 검사 할 수 있습니다. 그것이 이론적으로 올바른 방법입니다. 분명히'fopen()'을 체크해야한다. –