错误: 程序中有游离的‘\302’ ‘\240’等

在写程序时,有时候编译器需要程序必须是英文输入,但大家经常切到中文或者直接复制网络上的源代码,所以就出现了


et_ip.c:28:1: 错误: 程序中有游离的‘\302’
get_ip.c:28:1: 错误: 程序中有游离的‘\240’
get_ip.c:28:1: 错误: 程序中有游离的‘\302’
get_ip.c:28:1: 错误: 程序中有游离的‘\240’
get_ip.c:32:1: 错误: 程序中有游离的‘\302’
get_ip.c:32:1: 错误: 程序中有游离的‘\240’
get_ip.c:36:1: 错误: 程序中有游离的‘\302’
get_ip.c:36:1: 错误: 程序中有游离的‘\240’

这一般是“”,“”、,、;等符号使用错误,有时甚至是空格。

怎么解决呢?

很简单就是把他们一一改正,但很多不容易找怎么办?

可以使用linux 下的od命令加上重定向,

od详解:

Linux指令:od

示例用法:od -c hello

Linux指令:od

od命令
用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。

语法:od [选项] 文件…
命令中各选项的含义:
- A 指定地址基数,包括:
d 十进制
o 八进制(系统默认值)
x 十六进制
n 不打印位移值
- t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
d 有符号十进制数
f 浮点数
o 八进制(系统默认值为02)
u 无符号十进制数
x 十六进制数
除了选项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。

说明:od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal
Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。


例如:

1.qust@qust-K42JZ:~/test$ gcc get_ip.c -o get_ip
get_ip.c: 在函数‘main’中:
get_ip.c:32:1: 错误: 程序中有游离的‘\302’
get_ip.c:32:1: 错误: 程序中有游离的‘\240’
get_ip.c:36:1: 错误: 程序中有游离的‘\302’
get_ip.c:36:1: 错误: 程序中有游离的‘\240’

2.我们在终端中用 od -c get_ip.c > log.txt 命令将get_ip.c的内容已以 ASCII字符或反斜杠序列 输出到log.txt 中

3.查看log.txt内容


  1. 0000000   #   i   n   c   l   u   d   e       <   s   t   d   l   i   b  
  2. 0000020   .   h   >  \n   #   i   n   c   l   u   d   e       <   s   t  
  3. 0000040   r   i   n   g   .   h   >  \n   #   i   n   c   l   u   d   e  
  4. 0000060       <   s   y   s   /   s   o   c   k   e   t   .   h   >  \n  
  5. 0000100   #   i   n   c   l   u   d   e       <   s   y   s   /   i   o  
  6. 0000120   c   t   l   .   h   >  \n   #   i   n   c   l   u   d   e      
  7. 0000140   <   n   e   t   /   i   f   .   h   >  \n   #   i   n   c   l  
  8. 0000160   u   d   e       <   s   t   d   i   o   .   h   >  \n   #   i  
  9. 0000200   n   c   l   u   d   e       <   n   e   t   i   n   e   t   /  
  10. 0000220   i   n   .   h   >  \n   #   i   n   c   l   u   d   e       <  
  11. 0000240   a   r   p   a   /   i   n   e   t   .   h   >  \n  \n   i   n  
  12. 0000260   t 302 240   m   a   i   n   (   )  \n   {  \n   i   n   t 302  
  13. 0000300 240   i   =   0   ;  \n   i   n   t 302 240   s   o   c   k   f  
  14. 0000320   d   ;  \n   s   t   r   u   c   t 302 240   i   f   c   o   n  
  15. 0000340   f       i   f   c   o   n   f   ;  \n   u   n   s   i   g   n  
  16. 0000360   e   d 302 240   c   h   a   r 302 240   b   u   f   [   5   1  
  17. 0000400   2   ]   ;  \n   s   t   r   u   c   t 302 240   i   f   r   e  
  18. 0000420   q       *   i   f   r   e   q   ;  \n   /   / 345 210 235 345  
  19. 0000440 247 213 345 214 226   i   f   c   o   n   f  \n   i   f   c   o  
  20. 0000460   n   f   .   i   f   c   _   l   e   n       =   5   1   2   ;  
  21. 0000500  \n   i   f   c   o   n   f   .   i   f   c   _   b   u   f      
  22. 0000520   =       b   u   f   ;  \n   i   f 302 240   (   (   s   o   c  
  23. 0000540   k   f   d       =       s   o   c   k   e   t   (   A   F   _  
  24. 0000560   I   N   E   T   ,   S   O   C   K   _   D   G   R   A   M   ,  
  25. 0000600   0   )   )   <   0   )  \n   {  \n   p   e   r   r   o   r   (  
  26. 0000620   "   s   o   c   k   e   t   "   )   ;  \n   e   x   i   t   (  
  27. 0000640   1   )   ;  \n   }  \n   i   o   c   t   l   (   s   o   c   k  
  28. 0000660   f   d   ,   S   I   O   C   G   I   F   C   O   N   F   ,   &  
  29. 0000700   i   f   c   o   n   f   )   ; 302 240   /   / 350 216 267 345  
  30. 0000720 217 226 346 211 200 346 234 211 346 216 245 345 217 243 344 277  
  31. 0000740 241 346 201 257  \n   /   / 346 216 245 344 270 213 346 235 245  
  32. 0000760 344 270 200 344 270 252 344 270 200 344 270 252 347 232 204 350  
  33. 0001000 216 267 345 217 226   I   P 345 234 260 345 235 200  \n   i   f  
  34. 0001020   r   e   q   =   (   s   t   r   u   c   t 302 240   i   f   r  
  35. 0001040   e   q   *   )   b   u   f   ;  \n   f   o   r 302 240   (   i  
  36. 0001060   =   (   i   f   c   o   n   f   .   i   f   c   _   l   e   n  
  37. 0001100   /   s   i   z   e   o   f 302 240   (   s   t   r   u   c   t  
  38. 0001120 302 240   i   f   r   e   q   )   )   ;       i   >   0   ;      
  39. 0001140   i   -   -   )  \n   {  \n   /   /       i   f   (   i   f   r  
  40. 0001160   e   q   -   >   i   f   r   _   f   l   a   g   s       =   =  
  41. 0001200       A   F   _   I   N   E   T   )   {       /   /   f   o   r  
  42. 0001220       i   p   v   4  \n   p   r   i   n   t   f   (   "   n   a  
  43. 0001240   m   e       =       %   s       \   n   "   ,       i   f   r  
  44. 0001260   e   q   -   >   i   f   r   _   n   a   m   e   )   ;  \n   p  
  45. 0001300   r   i   n   t   f   (   "   l   o   c   a   l       a   d   d  
  46. 0001320   r       =       %   s       \   n   "   ,   i   n   e   t   _  
  47. 0001340   n   t   o   a   (   (   (   s   t   r   u   c   t 302 240   s  
  48. 0001360   o   c   k   a   d   d   r   _   i   n   *   )   &   (   i   f  
  49. 0001400   r   e   q   -   >   i   f   r   _   a   d   d   r   )   )   -  
  50. 0001420   >   s   i   n   _   a   d   d   r   )   )   ;  \n   i   f   r  
  51. 0001440   e   q   +   +   ;  \n   /   /       }  \n   }  \n   r   e   t  
  52. 0001460   u   r   n 302 240   0   ;  \n   }  \n  \n  
  53. 0001473  
0000000   #   i   n   c   l   u   d   e       <   s   t   d   l   i   b
0000020   .   h   >  \n   #   i   n   c   l   u   d   e       <   s   t
0000040   r   i   n   g   .   h   >  \n   #   i   n   c   l   u   d   e
0000060       <   s   y   s   /   s   o   c   k   e   t   .   h   >  \n
0000100   #   i   n   c   l   u   d   e       <   s   y   s   /   i   o
0000120   c   t   l   .   h   >  \n   #   i   n   c   l   u   d   e    
0000140   <   n   e   t   /   i   f   .   h   >  \n   #   i   n   c   l
0000160   u   d   e       <   s   t   d   i   o   .   h   >  \n   #   i
0000200   n   c   l   u   d   e       <   n   e   t   i   n   e   t   /
0000220   i   n   .   h   >  \n   #   i   n   c   l   u   d   e       <
0000240   a   r   p   a   /   i   n   e   t   .   h   >  \n  \n   i   n
0000260   t 302 240   m   a   i   n   (   )  \n   {  \n   i   n   t 302
0000300 240   i   =   0   ;  \n   i   n   t 302 240   s   o   c   k   f
0000320   d   ;  \n   s   t   r   u   c   t 302 240   i   f   c   o   n
0000340   f       i   f   c   o   n   f   ;  \n   u   n   s   i   g   n
0000360   e   d 302 240   c   h   a   r 302 240   b   u   f   [   5   1
0000400   2   ]   ;  \n   s   t   r   u   c   t 302 240   i   f   r   e
0000420   q       *   i   f   r   e   q   ;  \n   /   / 345 210 235 345
0000440 247 213 345 214 226   i   f   c   o   n   f  \n   i   f   c   o
0000460   n   f   .   i   f   c   _   l   e   n       =   5   1   2   ;
0000500  \n   i   f   c   o   n   f   .   i   f   c   _   b   u   f    
0000520   =       b   u   f   ;  \n   i   f 302 240   (   (   s   o   c
0000540   k   f   d       =       s   o   c   k   e   t   (   A   F   _
0000560   I   N   E   T   ,   S   O   C   K   _   D   G   R   A   M   ,
0000600   0   )   )   <   0   )  \n   {  \n   p   e   r   r   o   r   (
0000620   "   s   o   c   k   e   t   "   )   ;  \n   e   x   i   t   (
0000640   1   )   ;  \n   }  \n   i   o   c   t   l   (   s   o   c   k
0000660   f   d   ,   S   I   O   C   G   I   F   C   O   N   F   ,   &
0000700   i   f   c   o   n   f   )   ; 302 240   /   / 350 216 267 345
0000720 217 226 346 211 200 346 234 211 346 216 245 345 217 243 344 277
0000740 241 346 201 257  \n   /   / 346 216 245 344 270 213 346 235 245
0000760 344 270 200 344 270 252 344 270 200 344 270 252 347 232 204 350
0001000 216 267 345 217 226   I   P 345 234 260 345 235 200  \n   i   f
0001020   r   e   q   =   (   s   t   r   u   c   t 302 240   i   f   r
0001040   e   q   *   )   b   u   f   ;  \n   f   o   r 302 240   (   i
0001060   =   (   i   f   c   o   n   f   .   i   f   c   _   l   e   n
0001100   /   s   i   z   e   o   f 302 240   (   s   t   r   u   c   t
0001120 302 240   i   f   r   e   q   )   )   ;       i   >   0   ;    
0001140   i   -   -   )  \n   {  \n   /   /       i   f   (   i   f   r
0001160   e   q   -   >   i   f   r   _   f   l   a   g   s       =   =
0001200       A   F   _   I   N   E   T   )   {       /   /   f   o   r
0001220       i   p   v   4  \n   p   r   i   n   t   f   (   "   n   a
0001240   m   e       =       %   s       \   n   "   ,       i   f   r
0001260   e   q   -   >   i   f   r   _   n   a   m   e   )   ;  \n   p
0001300   r   i   n   t   f   (   "   l   o   c   a   l       a   d   d
0001320   r       =       %   s       \   n   "   ,   i   n   e   t   _
0001340   n   t   o   a   (   (   (   s   t   r   u   c   t 302 240   s
0001360   o   c   k   a   d   d   r   _   i   n   *   )   &   (   i   f
0001400   r   e   q   -   >   i   f   r   _   a   d   d   r   )   )   -
0001420   >   s   i   n   _   a   d   d   r   )   )   ;  \n   i   f   r
0001440   e   q   +   +   ;  \n   /   /       }  \n   }  \n   r   e   t
0001460   u   r   n 302 240   0   ;  \n   }  \n  \n
0001473

这样我们就可以看到游离的'\200'  '\240' 等在哪了。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值