小程序(将Solaris下的换行符转化为windows下的换行符)
前提知识点:
换行符的ASCII码是十进制的10.
回车符的ASCII码是十进制的13.
Windows换行符是回车符与换行符共同组成的,也就是13+10. 即:0x0D0A
Unix/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) ;
}
}