一段的读写二进制的程序遇到莫名奇妙的错误,循环写入的是268个字符,读出的有时是269,有时是270。
搜索问题才知道和fopen的mode参数选择有关:如果没有b,即单以”r”为参数的话,系统就把换行符0A转换为0D0A,因为windows是以0D0A为换行符的。
参考:http://www.cppblog.com/izualzhy/archive/2012/04/23/172489.aspx
一段的读写二进制的程序遇到莫名奇妙的错误,循环写入的是268个字符,读出的有时是269,有时是270。
搜索问题才知道和fopen的mode参数选择有关:如果没有b,即单以”r”为参数的话,系统就把换行符0A转换为0D0A,因为windows是以0D0A为换行符的。
参考:http://www.cppblog.com/izualzhy/archive/2012/04/23/172489.aspx