前提知识点:
换行符的ASCII码是十进制的10.
回车符的ASCII码是十进制的13.Windows换行符是回车符与换行符共同组成的,也就是13+10. 即:0x0D0AUnix/Linux等系统的换行符就只是10 即:0x0A下面就是数据中传递,将Solaris下的换行符“0x0A”转化为windows下的换行符"0x0D0A"
//strFrom:变换前的数据
//strTo:变换后的数据
void ConvertNL(CString& strFrom, CString& strTo)
{
strTo = ""; /*----------------------------------------------------------------------*/ /* 处理开始 */ /*----------------------------------------------------------------------*/ for(int i = 0 ; i < strFrom.GetLength() ; i++) { if(strFrom.GetAt(i) == '\n' && /* 为0x0A */ i != 0 && /* 不是开始文件 */ strFrom.GetAt(i-1) != '\r') { strTo += "\r" ; } strTo += strFrom.GetAt(i) ; }}