1
bdbai 2015-11-23 18:22:24 +08:00 via iPhone
全部加上 BOM 头试试。
|
2
vanxining 2015-11-23 18:57:00 +08:00 via Android
|
3
bdbai 2015-11-23 19:04:48 +08:00 via iPhone
@vanxining 写 PHP 的时候被坑得不轻,拿去编译的问题应该不大。
如果用 Git 也能避免编码问题。 |
4
lianz 2015-11-23 19:13:33 +08:00
部分源码管理工具可以设置在签出的时候转换成本地格式。比如 Git
|
5
patrickstar OP @bdbai
@vanxining @bdbai @lianz 谢谢,看来只能 UTF-8 with BOM 了,只要 gcc/g++认识和 cl/link 认识就行 看来一下子 http://www.cnblogs.com/findumars/p/3620078.html ,只是很纠结! |
6
bdbai 2015-11-23 19:23:10 +08:00 via iPhone
@patrickstar 不做网页有 BOM 问题也不大。建议用 Git 。
|
7
hualuogeng 2015-11-23 19:57:59 +08:00
@vanxining 老版本的 GCC 还是不认识的,前几天还专门为此问题转换过源代码
|
8
patrickstar OP 我最近才发现,跨平台下系统 API 和 C/C++函数库反而容易解决,而一个源程序编码搞得特别纠结!
准备用 Python 写一个程序来自动转编码,还得先去学习编码格式的东西,把 UTF-8 自动转换为 UTF-8 with BOM ,否则一个一个转换太烦人了 |
9
Arthur2e5 2015-11-24 03:38:06 +08:00 1
@patrickstar 其实你都不需要写 py 呢……
```Bash shopt -s globstar nullglob for i in **/*.c **/*.h; do mv "$i"{,.old} printf '\xEF\xBB\xBF' | cat - "$i.olg" > "$i" done ``` 甚至 ed + find: `find . -name '*.c' -o -name '*.c ’ -exec ed -e $'0a\n\xEF\xBB\xBF\n.\nw\nq'`(原谅我的 ed 恶趣味,毕竟 sed 还是不大会用……) |
10
patrickstar OP @Arthur2e5 谢谢,厉害
|
11
Arthur2e5 2015-11-24 10:00:35 +08:00
@patrickstar 我现在看回来想起来 ed 没有 -e ,还是用 ex -c 吧((((
|