C에서 파일 내용을 문자 배열로 읽는 방법
배경
이 질문 inputFile이라는 파일의 바이트로 문자 배열 버퍼를 채우는 방법을 묻습니다. 사용자는 ifstream::read() 대신 getline()을 사용하는 다른 제안된 접근 방식을 사용하는 데 어려움을 겪었습니다.
해결책
이 문제를 해결하기 위한 몇 가지 접근 방식이 있습니다. 작업:
ifstream::read() 사용
이 방법에는 다음이 포함됩니다.
예제 코드:
<code class="cpp">// Open file in binary mode std::ifstream infile("C:\MyFile.csv", std::ios_base::binary); // Get file length infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg); // Read file infile.read(buffer, length);</code>
istreambuf_iterator 사용
이 접근 방식은 더욱 현대적이며 반복자를 사용하여 파일을 읽습니다.
예제 코드:
<code class="cpp">// Create iterators std::istreambuf_iterator<char> begin(infile); std::istreambuf_iterator<char> end; // Create vector std::vector<char> contents(begin, end); // Copy vector to array std::copy(contents.begin(), contents.end(), buffer);</code>
고려 사항
위 내용은 ifstream::read() 및 istreambuf_iterator를 사용하여 C에서 파일 내용을 문자 배열로 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!