> 백엔드 개발 > C++ > 문자열 배열을 사용하지 않고 큰 텍스트 파일에서 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?

문자열 배열을 사용하지 않고 큰 텍스트 파일에서 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2025-01-15 09:21:50
원래의
933명이 탐색했습니다.

How Can I Efficiently Read Specific Lines from a Large Text File Without Using String Arrays?

대용량 텍스트 파일의 줄별 선택 읽기

질문:

문자열 배열을 사용하지 않고 큰 텍스트 파일에서 특정 줄을 읽고 저장하는 방법은 무엇입니까?

배경:

제공된 텍스트 파일은 구조화된 형식을 가지고 있습니다. 처음 25줄에는 정보가 포함되어 있고 그 뒤에는 다양한 줄 수(숫자는 17줄의 값에 따라 결정됨)가 포함됩니다. 목표는 파일에서 처음 25개 행을 독립적인 값으로 추출하여 저장하고 후속 행을 배열로 저장하는 것입니다.

해결책:

.NET 4.0 방법:

.NET 4.0 이상을 사용하는 경우 ReadLines 메소드가 행에 직접 액세스할 수 있습니다. 15행을 읽으려면:

<code class="language-csharp">string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
로그인 후 복사

일반 방법:

이전 .NET 버전의 경우 또는 줄의 순차적 읽기를 피할 수 없는 경우:

<code class="language-csharp">string GetLine(string fileName, int line)
{
   using (var sr = new StreamReader(fileName))
   {
       for (int i = 1; i <= line; i++)
       {
           if (sr.ReadLine() == null) return null; // 处理文件结尾
           if (i == line) return sr.ReadLine();
       }
       return null;
   }
}</code>
로그인 후 복사

이 방법은 대상 줄 앞의 모든 줄을 읽습니다.

참고:

일반적으로 파일을 다시 읽고 다시 쓰지 않고 처음 n 줄을 삭제할 수 있다고 가정할 수 없습니다. 그러나 여기에 제공된 솔루션에서는 행을 삭제할 필요가 없습니다.

위 내용은 문자열 배열을 사용하지 않고 큰 텍스트 파일에서 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿