QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 946|回复: 6

求救 关于程序里出现M控制符的问题

[复制链接]
发表于 2005-11-30 13:18:19 | 显示全部楼层 |阅读模式
我有个程序 在LINUX 主机里 用VI打开后 每行后面都有个^M字符 但是在WIN下 或则其他编辑软件下打开 都没有这个符号 想问哈你 这个^M是什么意思呢 对程序的运行 会不会 有影响呢
谢谢你了
发表于 2005-11-30 15:58:26 | 显示全部楼层
好象是回车换行符之类的,没有影响。在不同的字符集里显示的一些控制字符会有所不同。
回复

使用道具 举报

发表于 2005-11-30 16:04:03 | 显示全部楼层
是其他编辑器留下的,没关系不影响运行.
回复

使用道具 举报

发表于 2005-11-30 16:28:04 | 显示全部楼层
你可能是用binary的方式ftp上去文件吧.
回复

使用道具 举报

 楼主| 发表于 2005-11-30 23:02:48 | 显示全部楼层
就是哈

你可能是用binary的方式ftp上去文件吧.

不好吗? 因为我原来按DZ就是 要求用2进制

用哪种方式好呢
回复

使用道具 举报

发表于 2005-11-30 23:30:22 | 显示全部楼层
windows下的文本文件以“\r\n”作为换行符,但是unix/linux下以“\n”作为换行符。

如果文件是一个c/c++或其他编译性语言的原代码,那么不会有影响,但是编译的时候gcc
编译器会有“no new line at the end of file”的警告。但不影响编译通过,但是如果是一个脚本语言程序,很多情况下会影响程序的正确运行。

比如:一个文件名为numbers的文本文件内容如下:
1
2
3
4
5

在linux用如下命令,显示文件中每行的内容:

for i in `cat numbers`;do echo $i;done

如果numbers文件是UNIX/linux格式,这个语句会执行正确。
但如果这个文件是dos格式,那么这条命令将不能正确执行,只能显示第一行。

可以用如下命令对DOS格式的文件转换:
dos2unix oldfile newfile
或者:
cat oldfile |tr -d '\0x13' > newfile
回复

使用道具 举报

发表于 2005-12-1 12:02:19 | 显示全部楼层
如果是源代码(c, c++, java....)的话, 就用text, 如果是tar,gz等二进制文件就用binary.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 05:37 , Processed in 0.070288 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表