近期在使用Linux学习套接字的使用创建socket套接字编译时出现错误。

socket_udp.c: 在函数‘main’中:
socket_udp.c:8:2: 错误:程序中有游离的‘\342if((sockfd=socket(AF_INET, SOCK_DGRAM,0))==1)
  ^
socket_udp.c:8:2: 错误:程序中有游离的‘\200’
socket_udp.c:8:2: 错误:程序中有游离的‘\220

查询资料和询问后得知原因是:
是程序我的socket_udp.c中使用了中文的标点符号,例如;,},。改成英文的就行了。甚至有时候空格也会出现类似错误,删掉该空格后重新输入。

不改变代码的情况下可以输入:

sed -i 's/\o220\|\o200\|\o342/\|/g'  socket_udp.c 

即可编译成功

\o:用8进制编码
|:同时替换多个

当然一个错误仅用:sed -i ‘s/\o220|/g’ socket_udp.c 便可解决

Logo

更多推荐