cfile seek 예제

이 코드 조각은 SYSTEM을 엽니다. WINDOWS 디렉토리에 있는 INI 파일입니다. 이 예제가 발견되면 출력에서 와 같이 이름과 경로 및 제목을 인쇄합니다: “중국 광동에서 미시간 주 칼라마주까지의 예제를 탐색하는 캐리는 위엄있는 디자인을 달성하기 위한 다섯 가지 핵심 교훈을 그립니다: 초보자의 사고 방식을 포용합니다. 클라이언트가 아닌 파트너를 찾으십시오. 지역사회 지원 구축; 현지에서 근로자 및 원자재를 고용하는 것; 그리고 측정 영향.” -아일랜드 프레스 특집 예 중 다카에서 아름다운 미끼 당신의 루프 모스크입니다, 방글라데시, 지역 건축가 마리나 타바섬에 의해 설계기도 홀은 일광과 공기의 흐름을 허용 천공 벽돌을 갖추고, AKDN 씁니다. n에서 구할 위치입니다. 가능한 값은 비고 섹션을 참조하십시오. 데이터 블록은 –cfile-default-블록 크기 바이트로 제한되는 최상의 크기이며, 이 때 새 블록이 CFile에 추가됩니다. 서수 위치는 파일의 첫 번째 항목의 서수 위치입니다. 예를 들어 파일의 첫 번째 데이터 블록에는 서수 위치 0이 있습니다. 해당 블록에 값이 400이면 두 번째 데이터 블록에는 서수 위치(400)가 있습니다. 또한 CFile::CFile 및 CFile::Open의 예제를 참조하십시오.

이 함수를 호출하여 파일의 경로를 지정합니다. 예를 들어 CFile 개체가 생성될 때 파일 경로를 사용할 수 없는 경우 SetFilePath를 호출하여 파일을 제공합니다. 이제 그게 뭐야? 이러한 매크로가 필요한 이유는 모든 파일이 리틀 엔디안에 있는 Windows 시스템과 달리 TTF 파일이 Big-Endian 형식으로 저장되기 때문입니다. 그래, 나는 그것이 모든 “엔디안”:) 바보 같은 소리 알고있다. Big Endian은 예를 들어 Motorolla 프로세서에서 사용되며, 여기서 는 상위 바이트가 먼저 저장되고 리틀 엔디안(인텔 프로세서의 경우)에서는 상위 바이트가 마지막입니다. 예를 들어 정수 변수 1(길이가 4바이트)이 있습니다. 파일로 저장하고 hexadecimal 편집기에서 열면 다음과 같은 것을 볼 수 있습니다 : 예를 들어 GetFileName을 호출하여 파일 c:windowswritemyfile.wri에 대한 메시지를 사용자에게 생성하면 파일 이름 인 myfile.wri가 반환됩니다. Seek 함수는 포인터를 지정된 양또는 상대적으로 이동하여 파일 내용에 임의로 액세스할 수 있도록 합니다.

검색 하는 동안 실제로 데이터를 읽을 수 없습니다. 요청된 위치가 파일 크기보다 크면 파일 길이가 해당 위치로 확장되고 예외가 throw되지 않습니다. 이 클래스와 파생 된 클래스 간의 계층 관계를 사용하면 다형성 CFile 인터페이스를 통해 모든 파일 개체에서 프로그램을 작동 할 수 있습니다. 예를 들어 메모리 파일은 디스크 파일처럼 행동합니다. CFiles는 선택적으로 위치(서수) 인덱스 및 값 인덱스를 포함할 수 있습니다. 위치 인덱스는 “이 CFile의 N번째 항목을 포함하는 데이터 블록을 검색”과 같은 쿼리를 충족하는 데 사용됩니다. 값 인덱스는 “이 CFile에서 123을 포함하는 데이터 블록을 검색”과 같은 쿼리를 충족하는 데 사용됩니다. 값 인덱스는 정렬된 순서로 저장된 데이터(예: 기본 키 열)를 포함하는 CFiles에만 존재합니다. Seek의 이 구현은 CRT(런타임 라이브러리) 함수 fseek를 기반으로 합니다. 텍스트 모드에서 열린 스트림에서 Seek사용에는 몇 가지 제한이 있습니다. 자세한 내용은 fseek, _fseeki64를 참조하십시오.

CFile::end: 파일 포인터 lOff 바이트를 파일 끝에서 이동합니다. lOff는 기존 파일을 검색하려면 음수여야 합니다. 양수 값은 파일의 끝을 지나추구합니다. 예> // 예제 CFileException::m_cause extern char* pFileName; TRY { CFile f(pFileName, CFile::mode만들기 : CFile::modeWrite); } CATCH(CFileException, e) { if(e->m_cause == CFileException::fileNotFound) ?????? printf(“ERROR : 파일이 찾을 수 없음n”); } MSDN에 따르면 파일 길이가 연장됩니다. 그러나 cfile 후. close() 파일은 동일하게 유지됩니다. 왜? 대단히 고맙습니다! 다음 예제에서는 Seek를 사용하여 cfile 파일의 시작 부분에서 포인터 1000바이트를 이동하는 방법을 보여 주며 있습니다. Seek는 데이터를 읽지 않으므로 나중에 CStdioFile:ReadString을 호출하여 데이터를 읽도록 해야 합니다.