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

来源:互联网 发布:开元海淘 知乎 编辑:程序博客网 时间:2024/04/29 01:55

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


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内容

0000000   #   i   n   c   l   u   d   e       <   s   t   d   l   i   b0000020   .   h   >  \n   #   i   n   c   l   u   d   e       <   s   t0000040   r   i   n   g   .   h   >  \n   #   i   n   c   l   u   d   e0000060       <   s   y   s   /   s   o   c   k   e   t   .   h   >  \n0000100   #   i   n   c   l   u   d   e       <   s   y   s   /   i   o0000120   c   t   l   .   h   >  \n   #   i   n   c   l   u   d   e    0000140   <   n   e   t   /   i   f   .   h   >  \n   #   i   n   c   l0000160   u   d   e       <   s   t   d   i   o   .   h   >  \n   #   i0000200   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   n0000260   t 302 240   m   a   i   n   (   )  \n   {  \n   i   n   t 3020000300 240   i   =   0   ;  \n   i   n   t 302 240   s   o   c   k   f0000320   d   ;  \n   s   t   r   u   c   t 302 240   i   f   c   o   n0000340   f       i   f   c   o   n   f   ;  \n   u   n   s   i   g   n0000360   e   d 302 240   c   h   a   r 302 240   b   u   f   [   5   10000400   2   ]   ;  \n   s   t   r   u   c   t 302 240   i   f   r   e0000420   q       *   i   f   r   e   q   ;  \n   /   / 345 210 235 3450000440 247 213 345 214 226   i   f   c   o   n   f  \n   i   f   c   o0000460   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   c0000540   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   k0000660   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 3450000720 217 226 346 211 200 346 234 211 346 216 245 345 217 243 344 2770000740 241 346 201 257  \n   /   / 346 216 245 344 270 213 346 235 2450000760 344 270 200 344 270 252 344 270 200 344 270 252 347 232 204 3500001000 216 267 345 217 226   I   P 345 234 260 345 235 200  \n   i   f0001020   r   e   q   =   (   s   t   r   u   c   t 302 240   i   f   r0001040   e   q   *   )   b   u   f   ;  \n   f   o   r 302 240   (   i0001060   =   (   i   f   c   o   n   f   .   i   f   c   _   l   e   n0001100   /   s   i   z   e   o   f 302 240   (   s   t   r   u   c   t0001120 302 240   i   f   r   e   q   )   )   ;       i   >   0   ;    0001140   i   -   -   )  \n   {  \n   /   /       i   f   (   i   f   r0001160   e   q   -   >   i   f   r   _   f   l   a   g   s       =   =0001200       A   F   _   I   N   E   T   )   {       /   /   f   o   r0001220       i   p   v   4  \n   p   r   i   n   t   f   (   "   n   a0001240   m   e       =       %   s       \   n   "   ,       i   f   r0001260   e   q   -   >   i   f   r   _   n   a   m   e   )   ;  \n   p0001300   r   i   n   t   f   (   "   l   o   c   a   l       a   d   d0001320   r       =       %   s       \   n   "   ,   i   n   e   t   _0001340   n   t   o   a   (   (   (   s   t   r   u   c   t 302 240   s0001360   o   c   k   a   d   d   r   _   i   n   *   )   &   (   i   f0001400   r   e   q   -   >   i   f   r   _   a   d   d   r   )   )   -0001420   >   s   i   n   _   a   d   d   r   )   )   ;  \n   i   f   r0001440   e   q   +   +   ;  \n   /   /       }  \n   }  \n   r   e   t0001460   u   r   n 302 240   0   ;  \n   }  \n  \n0001473

这样我们就可以看到游离的'\200'  '\240' 等在哪了。


原创粉丝点击