2009-12-09 5 views
-1

메신저 파일을 한 줄씩 읽는 중이지만 space/r과 같은 가비지 문자를 읽을 때 im이 추가되는 이유는 무엇입니까? 읽기 ... 나는이 문제에 대한 해결책을 가지고 있다면 같은 문제를 가지고있는 두 사람 모두에게서 fread와 fgets를 사용했습니다.이 파일을 수정하는 방법 관련 문제

+2

문제가있는 샘플을 게시하십시오. – AraK

+0

파일의 줄 몇 ... –

+0

그리고 현재 사용중인 코드도 게시하십시오. 그렇지 않으면 숙제가 끝날 때까지 냄새가납니다. – jhwist

답변

1

파일은 아마도 Windows에서 편집되거나 생성되었을 수 있습니다. Windows에서는 \r\n을 줄 구분 기호로 사용합니다. 파일을 읽을 때 수동으로 \r을 제거해야합니다. 대부분의 편집자는 \r\n을 단일 문자 (줄 끝)로 취급하므로 "볼 수"는 없지만 여전히 파일에 있습니다. 그것을보기 원한다면 16 진수 편집기를 사용하거나 od과 같은 도구를 사용하십시오.

0

텍스트 모드에서 파일을 엽니 다.

/* ... */ 
fopen(filename, "r"); /* notice no 'b' in mode */ 
/* ... */ 

읽기 작업에 당신은 ... 윈도우에있어 가정하면, 라이브러리는 "\ 연구 \ n은"디스크에에 "\ n을"문자 그대로의 번역에 대한 책임; 쓰기 작업에서 라이브러리는 "\ n"을 "\ r \ n"으로 변환합니다.