2011-11-03 38 views
5

我有一個正常的文本文件,以正常結束\ r \ n。但是,使用「打開」和「讀取」時,Windows會將\ r \ n全部轉換爲\ n。我知道這意味着我必須以二進制模式打開文件,但「打開」功能不提供此選項,它只有只讀,只寫或讀寫。在C中讀取文本文件時,如何停止Windows C庫將「 r n」轉換爲「 n」?

這是代碼:

int File_Size = ...; 
char* Buffer = (char*)malloc(File_Size); 

int Handle = open(File_Path,O_RDONLY); 
read(Handle,Buffer,File_Size); 
close(Handle); 
+0

no'fopen'請爲... – jondinham

+6

爲什麼沒有「fopen()」? – m0skit0

+2

你可能是第一個抱怨這個!照顧'\ r \ n'和'\ n'有時候會很痛苦。 – wormsparty

回答

8

嘗試使用O_RDONLY|O_BINARY

+0

這麼多,真的救了我的一天:) – jondinham

相關問題