"C:MyFile.csv"에 있는 파일과 다음의 문자 배열 버퍼가 제공됩니다. 크기가 10,000인 경우 파일의 모든 바이트를 버퍼로 어떻게 효율적으로 읽을 수 있습니까?
이 시나리오에서는 getline()을 사용하는 것보다 일반적으로 선호되는 다음 접근 방식을 고려하십시오.
<code class="cpp">// Open the file in binary mode to preserve byte-by-byte fidelity std::ifstream infile("C:\MyFile.csv", std::ios_base::binary); // Determine the file's size infile.seekg(0, std::ios::end); size_t file_size = infile.tellg(); infile.seekg(0, std::ios::beg); // Ensure that the buffer is of sufficient size if (file_size > sizeof(buffer)) { // Handle the case where the file exceeds the buffer's capacity } // Read the entire file's contents into the buffer infile.read(buffer, file_size); // Obtain the actual number of bytes read from the file std::streamsize bytes_read = infile.gcount();</code>
추가 참고 사항:
위 내용은 C에서 파일의 모든 바이트를 문자 배열로 효율적으로 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!