큰 텍스트 파일이 있습니다.
프로그램을 실행할 때마다 첫 줄에서 읽고 제거한 다음 해당 데이터를 다시 파일 맨 아래에 넣어야합니다.Filestreams를 사용하여 A 텍스트 줄 제거 (C++)
파일의 모든 부분을 읽지 않고이 작업을 수행 할 수있는 방법이 있습니까?
그것은 의사 코드의 예를 따라 좋은 것 :
1. Open file stream for reading/writing 2. data = first line of file 3. remove first line from file <-- can I do this? 4. Close file stream 5. Open file stream for appending 6. write data to file 7. Close file stream
나는 프로그램이 매일 특정 시간에 실행 때문이다 읽기 모든 것을 피하기 위해 노력하고있어 이유. 파일이 커질 때마다 지연이 길어지는 것을 원하지 않습니다.
내가 발견 한 모든 솔루션은 프로그램이 전체 파일을 처리해야합니다. C++ 파일 스트림이이 작업을 수행 할 수없는 경우, C++ 프로그램을 신속하고 효율적으로 실행할 수있는 대안이 필요합니다.
감사합니다.
파일에 공백 개념이 있습니까? 라인을 완전히 제거하지 않고 희게하는 것이 가능합니까? – Potatoswatter
@Potatoswatter이 작업을 수행 할 수는 있지만 문제는 여전히 있습니다. 파일의 상단에 여분의 공백 줄이 생길 때마다. 파일에 백 스페이스를 쓰려고 시도했지만 여전히 파일에 문자로 표시됩니다. Ernest가 제안한 데이터베이스가 최선의 방법이라고 생각합니다. 시간을 줄이려면 별도의 스레드가 필요합니다. –