2016-07-28 3 views
1

나는 실수로 큰 파일을 가지고 있으며, 가능한 한 가장 빠른 방법으로 두 배로 읽어야합니다.C++로 파일에서 double을 읽는 가장 빠른 방법

나는, 속도가 느린 파일의 형식으로 자신 (1 수의 예를 들어 라인, 또는 여러)

scanf 시도를 선택 gets(s)을 시도하고 구문 분석은 같은시기에 제공 자신을 두 배로 할 수 있습니다.

더 빠른 방법이 있습니까?

+0

텍스트로 작성해야합니까? 원시 바이트를 쓸 수 있습니까? – Cornstalks

+2

하자. 줄이 있다면 ASCII가 있고, ASCII가 있으면 파일에 두 배가 없습니다 : ASCII 형식의 * 실수 *가 있습니다. 복식은 전환의 결과입니다. – EJP

+0

@Cornstalks 나는 그들을 쓸 필요가 없습니다. 나중에 복식으로 사용해야합니다. – Herokiller

답변

0

원시 이진 파일을 읽도록하십시오. 이것은 가장 빠릅니다.

: 당신이 슬롯 1000에서 2000 사이에서 슬롯 0-1000와 y 값에서 x 값을 포함해야 바이너리 파일에 두 개의 배열 xy 데이터 1000 개 값을 입력하십시오. 명령은 fread입니다. 요소의 크기가 double의 경우 64 비트 = 8 바이트임을 잊지 마십시오.

+0

원시 이진 파일에는 행이 없습니다. 0-8000 바이트는 첫 번째 1000 배가됩니다. 그런 다음 한 번의 호출로 배열에 직접 입력 할 수 있습니다. –

+0

감사합니다! 방금 편집했습니다. –