>백엔드 개발 >C++ >C에서 줄과 전체 파일을 어떻게 효율적으로 읽을 수 있습니까?

C에서 줄과 전체 파일을 어떻게 효율적으로 읽을 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-01 17:50:10292검색

How Can I Efficiently Read Lines and Entire Files in C  ?

C에서 줄과 파일 읽기

질문에서 언급했듯이 파일을 한 줄씩 또는 전체적으로 읽는 것이 C보다 효율적입니다. 특히 대용량 파일의 경우 단어 단위로 처리합니다. 다음은 두 시나리오를 모두 수행하는 방법에 대한 자세한 설명입니다.

한 줄씩 읽기:

파일을 한 줄씩 읽으려면 std::getline을 활용할 수 있습니다. 기능. 예는 다음과 같습니다.

#include <fstream>
#include <string>

int main() 
{ 
    std::ifstream file("Read.txt");
    std::string line; 
    while (std::getline(file, line))
    {
        // Process each line here
    }
}

이 코드 조각은 "Read.txt"라는 파일을 열고 행 문자열에 저장된 각 행을 읽습니다. 그런 다음 필요에 따라 개별 줄을 처리할 수 있습니다.

전체 파일을 한 번에 읽기:

전체 파일 내용을 한 번에 읽으려면 다음 줄을 연결하면 됩니다. 단일 문자열. 다음은 이전 코드의 수정된 버전입니다.

std::ifstream file("Read.txt");
std::string line;
std::string file_contents;
while (std::getline(file, line))
{
  file_contents += line;
  file_contents.push_back('\n');
} 

이 코드는 각 줄을 읽고 원래 줄 바꿈을 유지하기 위해 개행 문자를 포함하여 이를 file_contents 문자열에 추가합니다. 최종 file_contents 문자열에는 전체 파일 내용이 포함됩니다.

일반적으로 ifstream 생성자를 사용하여 open 메서드를 사용하는 대신 해당 파일 이름으로 파일을 열고 소멸자를 사용하여 자동으로 닫는 것이 좋습니다. 파일입니다.

위 내용은 C에서 줄과 전체 파일을 어떻게 효율적으로 읽을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.