2011-11-03 6 views
5

私は通常のテキストファイルを持っています。行は通常の\ r \ nで終わります。しかし、 'open'と 'read'を使うと、Windowsは\ r \ nを\ nに変換します。私はバイナリモードでファイルをオープンしなければならないということを知っていますが、 'open'関数はこのオプションを与えず、読み取り専用、書き込み専用、または読み書きしかできません。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

'fopen' pls ... – jondinham

+6

なぜ "fopen()"が表示されないのですか? – m0skit0

+2

あなたはこれについて最初に不平を言うかもしれません! '\ r \ n'と' \ n'の両方を世話することは時々そのような痛みです。 – wormsparty

答えて

8

O_RDONLY|O_BINARYを使用してみてください。

+0

tks uそんなに、本当に私の日を節約:) – jondinham

関連する問題