Chinaunix

标题: 怎么判断当前文件中含有unicode字符? [打印本页]

作者: GodPig    时间: 2009-01-13 10:53
标题: 怎么判断当前文件中含有unicode字符?
我的某个cpp文件,编译的时候总是出错,而且错误总是指向第一行,在网上查了下,可能是因为里面含有中文字符

我怎么能快速的定位到这个字符上?

用shell可以很快的找出来吗?

谢谢!
作者: 我是DBA    时间: 2009-01-13 10:55
你第一行贴出来看一下。
作者: GodPig    时间: 2009-01-13 11:02
好像就是代码的问题

我又重新录入了一遍,编译没有错误了

我现在想知道能不能用shell来快速的定位这样的错误?

怎么样才能直接查找到unicode字符呢?

谢谢!
作者: ynchnluiti    时间: 2009-01-13 11:17
  1. perl -ne 'print "$.,". ($-[0]+1) ."($+): $_" if /([^\x00-\x7f]+)/' urfile
复制代码

作者: GodPig    时间: 2009-01-13 12:45
谢谢,看起来很复杂呀
这个perl???
有空还得研究研究……
作者: ynchnluiti    时间: 2009-01-13 12:49
原帖由 GodPig 于 2009-1-13 12:45 发表
谢谢,看起来很复杂呀
这个perl???
有空还得研究研究……

复杂是因为显示了行号,列,非ascii字符。
其他工具应该也有相应方法。
作者: GodPig    时间: 2009-01-13 19:17
再膜拜一下楼上

我试了一下,打印出了这样的字符:
1,1(锘?: 锘?include <stdio.h

貌视我的程序真的有问题

但我这是又重新录入了一遍的,只不过在Windows下面又编辑了一下,往里面拷了一点代码

根本没有动#include <stdio.h>

为什么会出现这样的错误呢?
作者: GodPig    时间: 2009-01-13 19:28
恩,用二进制编辑器查看了一下,发现文件前面果然多了三个字节!!!

但删除之后仍然有问题,看样改变的不只这个地方?、??

啊……
作者: ynchnluiti    时间: 2009-01-14 01:01
原帖由 GodPig 于 2009-1-13 19:28 发表
恩,用二进制编辑器查看了一下,发现文件前面果然多了三个字节!!!

但删除之后仍然有问题,看样改变的不只这个地方?、??

啊……

是不是默认保存成utf-8或者其他格式了
作者: GodPig    时间: 2009-01-15 19:07
恩,是保存成 utf-8格式了

谢谢了!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2