C에서 파일 내용을 문자열로 효율적으로 읽기
C에서는 Perl과 같은 스크립트 언어와 달리 파일의 전체 내용을 읽습니다. 단일 작업으로 문자열로 변환하는 것은 직접 사용할 수 없습니다. 그러나 이 기능을 달성하는 효율적인 방법이 있습니다.
파일 내용을 문자열로 읽으려면 C의 파일 입력 처리 기능을 활용할 수 있습니다. 효율적인 솔루션은 다음과 같습니다.
<code class="cpp">#include <fstream> #include <string> int main(int argc, char** argv) { std::ifstream ifs("myfile.txt"); std::string content( (std::istreambuf_iterator<char>(ifs) ), (std::istreambuf_iterator<char>() ) ); return 0; }</code>
코드는 입력 파일 스트림을 사용하여 "myfile.txt"라는 파일의 내용을 읽고 이를 "content"라는 문자열 변수에 저장합니다. 파일 내용을 문자열에 할당하는 데 사용되는 표현식은 다음과 같습니다.
<code class="cpp">std::string content( (std::istreambuf_iterator<char>(ifs) ), (std::istreambuf_iterator<char>() ) );</code>
이 표현식은 반복기를 사용하여 입력 파일 스트림에서 문자별로 읽고 문자열을 구성합니다. 첫 번째 반복자는 입력 파일 스트림으로 초기화되고, 두 번째 반복자는 파일의 끝을 나타내는 기본 구성 "끝" 반복자입니다.
또는 다음 코드를 사용하여 값을 덮어쓸 수도 있습니다. 기존 문자열 변수:
<code class="cpp">std::string content; content.assign( (std::istreambuf_iterator<char>(ifs) ), (std::istreambuf_iterator<char>() ) );</code>
이 코드는 기존 문자열 변수 "content"의 값을 파일 내용으로 덮어씁니다.
위 내용은 C에서 파일의 전체 내용을 문자열로 효율적으로 읽으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!