#include
using namespace std;
int main()
{
ofstream otxt("d:\\txt");
ofstream obin("d:\\bin", ios::binary);
unsigned int c;
for(c=0; c
otxt
obin
if((c + 1) % 10 == 0)
/*
寫檔案有文字格式和二進位制格式之分,ios::binary就是二進位制
它與文字格式的差別在於, 文字格式會增加一些格式上的資訊,比如換行"\n"用文字輸出是兩個位元組0x0Ah,0x0Dh,而如用二進位制輸出則是0x0Ah
故而 txt的位元組數 > bin的位元組數
*/
}
otxt.close();
obin.close();
ifstream itxt("d:\\txt", ios::binary);
ifstream ibin("d:\\bin");
//讀檔案時最大的區別:文字方式在遇到第一個EOF字元(ASCII:26)時就結束,二進位制方式直到檔案結尾。
char ch;
cout
while(itxt.get(ch))
while(ibin.get(ch))
itxt.close();
ibin.close();
return 0;
文字檔案本身跟二進位制檔案一樣,都是由0/1位組成,只是一般所說的文字檔案每8位(一位元組)必須是可顯示的ASCII碼範圍(0~127),而二進位制每8位任意(0~255)。
寫檔案有文字格式和二進位制格式之分,ios::binary就是二進位制, 它與文字格式的差別在於,文字格式會增加一些格式上的資訊,比如換行"\n"用文字輸出是兩個位元組0x0Ah [10],0x0Dh [13]. 而如用二進位制輸出則是0x0Ah [10].
而讀檔案時最大的區別:文字方式在遇到第一個EOF字元(ASCII:26)時就結束,二進位制方式直到檔案結尾。
#include
#include
#include
using namespace std;
int main()
{
ofstream otxt("d:\\txt");
ofstream obin("d:\\bin", ios::binary);
unsigned int c;
for(c=0; c
{
otxt
obin
if((c + 1) % 10 == 0)
{
/*
寫檔案有文字格式和二進位制格式之分,ios::binary就是二進位制
它與文字格式的差別在於, 文字格式會增加一些格式上的資訊,比如換行"\n"用文字輸出是兩個位元組0x0Ah,0x0Dh,而如用二進位制輸出則是0x0Ah
故而 txt的位元組數 > bin的位元組數
*/
otxt
obin
}
}
otxt.close();
obin.close();
ifstream itxt("d:\\txt", ios::binary);
ifstream ibin("d:\\bin");
//讀檔案時最大的區別:文字方式在遇到第一個EOF字元(ASCII:26)時就結束,二進位制方式直到檔案結尾。
char ch;
cout
while(itxt.get(ch))
{
cout
}
cout
cout
while(ibin.get(ch))
{
cout
}
cout
itxt.close();
ibin.close();
return 0;
}
文字檔案本身跟二進位制檔案一樣,都是由0/1位組成,只是一般所說的文字檔案每8位(一位元組)必須是可顯示的ASCII碼範圍(0~127),而二進位制每8位任意(0~255)。
寫檔案有文字格式和二進位制格式之分,ios::binary就是二進位制, 它與文字格式的差別在於,文字格式會增加一些格式上的資訊,比如換行"\n"用文字輸出是兩個位元組0x0Ah [10],0x0Dh [13]. 而如用二進位制輸出則是0x0Ah [10].
而讀檔案時最大的區別:文字方式在遇到第一個EOF字元(ASCII:26)時就結束,二進位制方式直到檔案結尾。