Q&A

  • Textfile읽기에 대해서
안녕하세요.



제가 질문드리고자 하는 것은

- textfile을 읽을때 원하는 위치를 찾아가 읽을 수 있는 방법이 있는가?

입니다.



약 3만줄정도의 Text를 원하는 위치를 보여주고 또 검색하려고 하는데

줄의 길이가 각각 많이차이나므로 일정한 Record로 읽고쓰면 용량낭비가

너무 심하기 때문에 별수없이 일반 텍스트형식으로 해야 합니다.

그런데 여기서 문제가 되는 것은 속도입니다.

제가 테스트해 본 결과 일정한 텍스트를 읽는데...



- readln : 2 ms

- blockread : 102 ms ( record size = 1 )

- read : 650 ms ( file of char )



이와 같이 엄청난 속도차이가 나기때문에 blockread나 read를 쓰기에

망설이게 되는겁니다.

readln도 결국 개행위치를 찾을때까지 한자한자 검색해서 그만큼 읽는 건데 왜 이렇게

차이가 나는지궁금합니다. 그냥 이진파일로 선언해서 readln같은 함수를

쓸 수 있으면 좋으련만.



데이타베이스로 하면 속도가 확실히 빠르다는 확신이 있으면 데이타베이스로

하겠는데 제가 데이타베이스를 써 본적이 없어서...

별로 빠르지도 않은데 덩치큰 BDE를 포함시키기도 그렇고 해서..



아시는분들의 조언을 부탁드립니다. 그냥 의견이라도 좋습니다.

답변만 해주신다면 정말 감사하겠습니다.



그럼.

0  COMMENTS