2013-05-30 2 views
0

저는이 부분에 당혹 스럽기 때문에 여기에 입력 된 파일을 정확히 처리 할 수 ​​없습니다. 나는이 파일을 Windows로 포팅했음을 지적해야한다.이 파일은 Mac OS X에서 올바르게 실행된다.ifstream이 파일의 데이터를 복제 중입니다.

기본적으로 내 ifstream은 입력 파일의 꼬리 부분을 두 번 복사하는 것으로 보인다. . 그것을 읽는 예를 들어, 내 입력하면이었다 다음과 같이

Daisy, Daisy, give me your answer, do, 
I'm half crazy all for the love of you. 
It won't be a stylish marriage, 
I can't afford a carriage, 
But you'd look sweet upon the seat 
Of a bicycle built for two. 

ifstream은 읽어됩니다

:

Daisy, Daisy, give me your answer, do, 
I'm half crazy all for the love of you. 
It won't be a stylish marriage, 
I can't afford a carriage, 
But you'd look sweet upon the seat 
Of a bicycle built for two. 
I can't afford a carriage, 
But you'd look sweet upon the seat 
Of a bicycle built for two. 

이 문제의 코드입니다

나는이 문제의 원인을 잘 모릅니다. 나는 Mac에 반대하는 Windows에서의 개발에 익숙하지 않으며, 프로그램이 동일하다고 생각하면서도 이러한 다양한 결과를 산출합니다. 저는 사지에 나가서 Window의 특징이라고 말합니다. 아마도 함수의 차이점이 끝나고 부름을 요구할 것입니까? 하지만 왜 파일의 꼬리 부분을 다시 복사 할 것인지 상상할 수는 없습니다. 예, 파일을 검사했지만 중복 된 항목이 없습니다.

+0

문자열 스트림을 사용하여 여기에 코드를 복제했지만 잘못된 것을 찾을 수 없습니다. ('initialResults.close'에 괄호가 빠져 있다는 것을 제외하고 - http://coliru.stacked-crooked.com/view?id=6ceb16d94b83b843bd3796ffb9d2a10d-b54d854fe598111a256b22e5ef8b561f – 0x499602D2

답변

0

추가 연구를 통해 Windows에서 캐리지 리턴/줄 바꿈 문제가있는 것이 확실하다고 확신합니다. 변환을 억제하려면 이진 모드 ios_base::binary에서 파일을 열어야합니다.

관련 문제