有时候在拷贝代码的过程中可能会出现下面的问题:
CA.cpp:35:2: error: stray ‘\302’ in program
CA.cpp:35:2: error: stray ‘\240’ in program
CA.cpp:36:1: error: stray ‘\302’ in program
CA.cpp:36:1: error: stray ‘\240’ in program
这主要是由于vi编译器的原因导致的。但是用vi打开文件却没有看到任何关于’\302','\240'等错误。
这时候可以运行下面的命令,查看其完整的编码:
od -c CA.cpp
这时会出现下面的信息:
0000000 # i n c l u d e < i o s t r e a
0000020 m > \n u s i n g 302 240 n a m e s p
0000040 a c e 302 240 s t d ; \n c l a s s 302
0000060 240 C A 302 240 { \n \n p u b l i c : \n
0000100 \t C A ( i n t 302 240 b , c h a r *
0000120 302 240 c s t r ) \n \t { \n \t \t a = b
0000140 ; \n \t \t s t r = n e w 302 240 c h a
0000160 r [ b ] ; \n \t \t s t r c p y ( s
0000200 t r , c s t r ) ; \n \t } \t \n \t C
0000220 A ( c o n s t 302 240 C A & 302 240 C )
0000240 \n \t { \n \t \t a = C . a ; \n \t \t s
0000260 t r = n e w 302 240 c h a r [ a ] ;
0000300 302 240 / / 346 267 261 346 213 267 350 264 235 302 240 302
0000320 240 302 240 302 240 \n \t \t i f ( s t r ! =
0000340 0 ) \n \t \t \t s t r c p y ( s t r
0000360 , C . s t r ) ; \n \t } \t \n \t v o
0000400 i d 302 240 S h o w ( ) \n \t { \n \t \t
0000420 c o u t < < s t r < < e n d l ;
0000440 \n \t } \n \t ~ C A ( ) \n \t { \n \t \t
0000460 d e l e t e 302 240 s t r ; \n \t } \n
0000500 \t p r i v a t e : 302 240 302 240 302 240 \n
0000520 \t \t i n t 302 240 a ; \n \t \t c h a r
0000540 302 240 * s t r ; \n } ; \n i n t 302 240
0000560 m a i n ( ) 302 240 { \n \t C A 302 240 A
0000600 ( 1 0 , " H e l l o ! " ) ; \n \t
0000620 C A 302 240 B = A ; \n \t B . S h o w
0000640 ( ) ; \n \t r e t u r n 302 240 0 ; \n
0000660 } 302 240 \n
0000664
这样就可以根据上面的内容来删除其中的’\302','\240'。