注意文件每行结尾的^M,CR/LF区分
首先明确一点,Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行。Linux下某些针对硬件配置的config file如果是在windows下创建的,有时你会发现在行尾会有“^M”符号,这时注意千万不要直接VIM 【X】删除这些符号,因为这样做会把换行符删掉,导致这些文件file IO的时候无法判断结束从而导致target莫名其妙的错误。
因为每行的结尾都会带有特殊ASCII,如图
http://dl.iteye.com/upload/attachment/375260/c6116590-fa2e-38f6-9492-e881642d56d0.jpg
CR(Carriage Return)0x0d代表回车,LF(Line Feed)0x0a代表换行符。
将^M删除,会将CR去掉,只剩LF。
如果在file io的时候判断行尾是用的CRLF,那么将^M删除显然就不合适了。
页:
[1]