디스크에 커밋 상수Commit-To-Disk Constants

Microsoft 전용Microsoft Specific

구문Syntax


#include <stdio.h>  

설명Remarks

이러한 Microsoft 전용 상수는 열려 있는 파일과 연결된 버퍼가 운영 체제 버퍼 또는 디스크에 플러시되는지 여부를 지정합니다.These Microsoft-specific constants specify whether the buffer associated with the open file is flushed to operating system buffers or to disk. 모드는 읽기/쓰기 액세스 형식을 지정하는 문자열에 포함됩니다("r", "w", "a", "r+", "w+", "a+").The mode is included in the string specifying the type of read/write access ("r", "w", "a", "r+", "w+", "a+").

디스크에 커밋 모드는 다음과 같습니다.The commit-to-disk modes are as follows:

cc
지정된 버퍼의 기록되지 않은 내용을 디스크에 씁니다.Writes the unwritten contents of the specified buffer to disk. 이 디스크에 커밋 기능은 fflush 또는 _flushall 함수를 명시적으로 호출할 때에만 발생합니다.This commit-to-disk functionality only occurs at explicit calls to either the fflush or the _flushall function. 이 모드는 중요한 데이터를 처리할 때 유용합니다.This mode is useful when dealing with sensitive data. 예를 들어 프로그램이 fflush 또는 _flushall을 호출한 후에 종료되는 경우 데이터가 운영 체제의 버퍼에 도달했음을 확인할 수 있습니다.For example, if your program terminates after a call to fflush or _flushall, you can be sure that your data reached the operating system's buffers. 그러나 c 옵션을 사용하여 파일이 열리지 않고 운영 체제도 종료되는 경우 데이터가 디스크에 쓰이지 않을 수 있습니다.However, unless a file is opened with the c option, the data might never make it to disk if the operating system also terminates.

n
지정된 버퍼의 기록되지 않은 내용을 운영 체제의 버퍼에 씁니다.Writes the unwritten contents of the specified buffer to the operating system's buffers. 운영 체제는 데이터를 캐시한 후 디스크에 쓸 수 있는 최적의 시간을 결정합니다.The operating system can cache data and then determine an optimal time to write to disk. 이 동작이 효율적인 프로그램 동작을 만드는 경우가 많습니다.Under many conditions, this behavior makes for efficient program behavior. 그러나 데이터의 보존이 중요한 경우(예: 은행 거래 또는 항공권 정보) c 옵션을 사용하는 것이 좋습니다.However, if the retention of data is critical (such as bank transactions or airline ticket information) consider using the c option. n 모드는 기본입니다.The n mode is the default.

참고

c and n 옵션은 fopen에 대한 ANSI 표준에 포함되어 있지 않지만 Microsoft 확장이며 ANSI 이식성이 필요한 곳에 사용될 수 없습니다.The c and n options are not part of the ANSI standard for fopen, but are Microsoft extensions and should not be used where ANSI portability is desired.

기존 코드와 함께 디스크에 커밋 기능 사용Using the Commit-to-Disk Feature with Existing Code

기본적으로 fflush 또는 _flushall 라이브러리 함수를 호출하면 운영 체제에 의해 유지 관리되는 버퍼에 데이터가 쓰여집니다.By default, calls to the fflush or _flushall library functions write data to buffers maintained by the operating system. 운영 체제는 실제로 디스크에 데이터를 쓸 수 있는 최적의 시간을 결정합니다.The operating system determines the optimal time to actually write the data to disk. 런타임 라이브러리의 디스크에 커밋 기능을 사용하면 중요한 데이터가 운영 체제의 버퍼 대신 디스크에 직접 쓰여져 있는지 확인할 수 있습니다.The commit-to-disk feature of the run-time library lets you ensure that critical data is written directly to disk rather than to the operating system's buffers. 개체 파일을 COMMODE.OBJ에 연결하여 다시 쓰지 않고 기존 프로그램에 이 기능을 제공할 수 있습니다.You can give this capability to an existing program without rewriting it by linking its object files with COMMODE.OBJ.

결과 실행 파일에서 fflush를 호출하면 버퍼의 내용이 디스크에 직접 쓰여지고 _flushall을 호출하면 모든 버퍼의 내용이 디스크에 쓰여집니다.In the resulting executable file, calls to fflush write the contents of the buffer directly to disk, and calls to _flushall write the contents of all buffers to disk. 이러한 두 기능만 COMMODE.OBJ의 영향을 받습니다.These two functions are the only ones affected by COMMODE.OBJ.

Microsoft 전용 종료END Microsoft Specific

참고 항목See Also

스트림 I/O Stream I/O
_fdopen, _wfdopen _fdopen, _wfdopen
fopen, _wfopen fopen, _wfopen
전역 상수Global Constants