파일포인터로 파일 읽어올때 파일포인터가 어떤식으로 읽어들이나요?
올리브
질문 제목 : 파일포인터로 파일 읽어올때 파일포인터가 어떤식으로 읽어들이나요?파일포인터가 fopen으로 파일을 열때 바이너리로 읽어들이는건가요? 아니면 pe포멧같은거라도 보는건가요?질문 내용 : 메모장에 내용을 쓴 후 확장자를 지워버렸습니다
그리고 파일포인터로 열때
file *fp;
fp=fopen(확장자없음,r);
이렇게 했는데 안에 있는 내용을 잘 읽어들입니다
파일포인터는 이 파일이 텍스트 파일인지 알아 낸 후 텍스트를 읽어들인건가요?
알아냈다면 어디를 보고 알아낸건가요?
-
상1큼해
그렇군요 감사합니다!
-
꽃
바이너리 파일, 텍스트 파일이 따로 있지는 않죠.
파일을 읽고 쓸 때, \\r\\n 을 \\n 으로 변환할 것이냐 말 것이냐를
파일을 열면서 선택하는 정도... -
치킨마루
기본적으로 그냥 바이너리로 읽습니다. 아무런 인코딩 안된 텍스트 파일은 통상 아스키코드로 기록되고, c도 기본적으로 아스키코드를 기준하고 있어서 확장자 그런거 관계없이 읽으면 읽는데로 그게 아스키코드로 읽히게 됩니다.
그리고 원레부터 확장자는 유저를 위한 표식이지 시스템을 위한 표식이 아닙니다. *nix계열의 운영체제의 경우 파일 확장자는 그저 파일의 이름의 일부일 뿐이지 아무런 기능이 없죠 -
원술
레퍼런스에 따르면 r은 전역변수 _fmode를 따른다고 되어있습니다. rt는 텍스트 전용 rb는 바이너리 전용이죠. 저도 _fmode가 어디에 정의되어 있는지 모르겠지만 아무튼 텍스트처럼 기본적인 서식에 대해서는 읽는데 지장이 없겠죠.