文件文本形式读入时解决办法

文件文本形式读入时
//文本方式:如遇换行符(十进制的10),自动被扩充为回车换行符(十进制的13),因此若是遇到数字10则也变成了13
这个是我在一个C++视频中看到的,不知道对不对,自己试了一下

int arr[] = {10,20};
int inarr[2];
ofstream out("a.txt");
out.write((char*)arr,sizeof(arr));
out.close();

*ifstream in("a.txt");
in.read((char*) inarr,sizeof(arr));
cout << inarr[0] << endl;
in.close();

发现读出来也是10啊,没出错啊。
求指教

------解决方案--------------------
因为作为文本读的时候遇到13 10会把13去掉
------解决方案--------------------
read读的时候是按字节读的,不是按整数进行读的,比如读10的时候,是先读1这个字符的ASCII码,再读0的ASCII的码,当然可以读出来了
------解决方案--------------------
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

------解决方案--------------------
谢谢zhao4zhong1,我提的问题竟然在这里解决了。