c++ fread 예제

텍스트 모드 스트림에서 사용할 경우 요청된 데이터 양(즉, 크기 * 개수)이 내부 FILE * 버퍼 크기보다 크거나 같으면(기본적으로 setvbuf를 사용하여 구성할 수 있는 4096바이트) 스트림 데이터가 사용자 제공 버퍼에 직접 복사됩니다. 및 줄 바호 변환은 해당 버퍼에서 수행됩니다. 변환된 데이터는 버퍼에 복사된 스트림 데이터보다 짧을 수 있기 때문에 버퍼[return_value * 크기](return_value가 fread에서 반환 값인 경우)의 데이터는 파일에서 변환되지 않은 데이터를 포함할 수 있습니다. 따라서 버퍼의 의도가 C 스타일 문자열로 작동하려는 경우 buffer[return_value * size]에서 문자 데이터를 null-terminate하는 것이 좋습니다. 텍스트 모드와 바이너리 모드의 효과에 대한 자세한 내용은 fopen을 참조하십시오. 기술적으로, 예 그것은 메모리 누수입니다. 그러나 프로세스에 의해 할당 된 모든 메모리는 해당 프로세스가 종료 될 때 자동으로 해제되므로이 예제에서는 free (및 fclose)에 대한 호출이 실제로 필요하지 않습니다. 이 예제에서는 (exit()를 호출하여 프로그램을 종료하면 연결된 모든 메모리가 해제되므로 메모리 누수되지 않습니다. 크기 또는 개수가 0이면 fread는 0을 반환하고 다른 작업을 수행하지 않습니다. 스트림에서 데이터를 읽습니다. 이 버전의 fread에는 CRT의 보안 기능에 설명된 대로 보안 기능이 향상되었습니다. C++의 fread() 함수는 스트림에서 데이터 블록을 읽습니다.

이 함수는 먼저 지정된 입력 스트림의 크기 바이트 크기의 개체 수를 읽습니다. 성공한 경우 읽은 바이트의 총 양(크기*개수)입니다. 아니오에 따르면. 문자가 읽히면 표시기 파일 위치가 증가합니다. 읽은 개체가 간단히 복사할 수 없는 경우 동작이 정의되지 않고 크기 또는 개수 값이 0이면 이 프로그램은 단순히 0을 반환합니다. C 라이브러리 함수 size_t fread(보이드 *ptr, size_t 크기, size_t nmemb, FILE *stream)는 주어진 스트림의 데이터를 ptr에 의해 가리키는 배열로 읽습니다. 파일 처리에서 fread() 함수를 통해 입력 스트림 파일 이름에서 버퍼라는 배열에 이르는 크기 길이의 개체 수를 읽습니다. 파일에서 읽는 개체 수를 반환합니다. 더 적은 개체가 읽히거나 EOF가 발생하기 전에 오류가 발생하면 오류가 발생합니다. 여기서는 구문과 함께 C 언어로 라이브러리 헤더 stdio.h의 fread() 함수에 대해 알아봅니다. Souvik Saha가 제출, 2019년 1월 11일 객체가 사소하게 복사할 수 없는 경우, 동작은 정의되지 않습니다. size – 이것은 읽을 수있는 각 요소의 바이트 크기입니다.

stream – 이것은 입력 스트림을 지정하는 FILE 개체에 대한 포인터입니다. 홈 » C 프로그램 » stdio.h 헤더 파일 기능 아래 프로그램은 위의 기능을 설명 : 프로그램 1 : 프로그램이 지점 결과에서 종료되지 않은 경우 != lSize, 즉, 그것은 실행의 다른 경로로 계속, 다음 예 – 그것은 보장 메모리 누수입니다.

Comment is closed.