linux read函数的一些使用有关问题

linux read函数的一些使用问题.
我用write函数向一个文件file.c写入了四行字.
[第一行]hello,linux.
[第二行]I've learned linux for two weeks.
[第三行(是一个\n)]
[第四行]hi,this is my second time to write.
第三第四行是我第二次用lseek方法移动到之前file.c的末尾写入的.在读取的时候我却只能读到第一第二行.但是显示的字节数是85.
于是我试试移动到偏移量48的位置开始读,也就是第一次写入的前两行的字节数.这时候读取正常.

user@ubuntu:~/linuxfile$ ./read
file opened.
file closed.
the string read from that file is:
hi,this is my second time to write.the size is :37


空行没有显示,也就是说空行会被忽略掉?然后我再重新从文件头部读.

user@ubuntu:~/linuxfile$ ./read
file opened.
file closed.
the string read from that file is:hello,linux.
I've learned linux for two weeks.
the size is :85

第四行的内容没有.
这是为什么呢.求解.
C linux read() write()

------解决方案--------------------
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。

不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

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