M-BM-
今天拷贝了一段代码
struct Test
{
Test( int ) {}
Test() {}
void fun() {}
};
void main( void )
{
Test a(1);
a.fun();
Test b();
b.fun();
}
编译的时候报错
01.cpp:16:1: error: stray ‘\240’ in program
01.cpp:16:1: error: stray ‘\302’ in program
01.cpp:16:1: error: stray ‘\240’ in program
01.cpp:16:1: error: stray ‘\302’ in program
01.cpp:16:1: error: stray ‘\240’ in program
01.cpp: In function ‘int main()’:
01.cpp:14:4: error: request for member ‘fun’ in ‘b’, which is of non-class type ‘Test()’
b.fun();
显然是字符的问题,
[root@ba face]# cat -v 01.cpp
#include <stdio.h>
struct TestM-BM- M-BM- M-BM-
{M-BM- M-BM- M-BM-
Test(int){}M-BM- M-BM- M-BM-
Test(){}M-BM- M-BM- M-BM-
void fun(){}M-BM- M-BM- M-BM-
};M-BM- M-BM- M-BM- intM-BM- main(void)M-BM- M-BM- M-BM-
{M-BM- M-BM- M-BM-
TestM-BM- a(1);M-BM- M-BM- M-BM-
a.fun();M-BM- M-BM- M-BM-
TestM-BM- b();M-BM- M-BM- M-BM-
b.fun();M-BM- M-BM- M-BM-
return 0;
}M-BM- M-BM- M-BM-
猜想M-BM-是Linux下的一个特殊字符,要怎么替换呢,想到用十六进制方式替换,那么首先查看这个特殊字符的十六进制表示,用od命令
[root@ba face]# od -tcx1 01.cpp
000000 # i n c l u d e < s t d i o .
23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e
000010 h > \n \n s t r u c t T e s t 302
68 3e 0a 0a 73 74 72 75 63 74 20 54 65 73 74 c2
000020 240 302 240 302 240 \n { 302 240 302 240 302 240 \n T e
a0 c2 a0 c2 a0 0a 7b c2 a0 c2 a0 c2 a0 0a 54 65
000030 s t ( i n t ) { } 302 240 302 240 302 240 \n
73 74 28 69 6e 74 29 7b 7d c2 a0 c2 a0 c2 a0 0a
000040 T e s t ( ) { } 302 240 302 240 302 240 \n v
54 65 73 74 28 29 7b 7d c2 a0 c2 a0 c2 a0 0a 76
000050 o i d 302 240 f u n ( ) { } 302 240 302 240
6f 69 64 c2 a0 66 75 6e 28 29 7b 7d c2 a0 c2 a0
000060 302 240 \n } ; 302 240 302 240 302 240 \n v o i d
c2 a0 0a 7d 3b c2 a0 c2 a0 c2 a0 0a 76 6f 69 64
000070 302 240 m a i n ( v o i d ) 302 240 302 240
c2 a0 6d 61 69 6e 28 76 6f 69 64 29 c2 a0 c2 a0
000080 302 240 \n { 302 240 302 240 302 240 \n T e s t 302
c2 a0 0a 7b c2 a0 c2 a0 c2 a0 0a 54 65 73 74 c2
000090 240 a ( 1 ) ; 302 240 302 240 302 240 \n a . f
a0 61 28 31 29 3b c2 a0 c2 a0 c2 a0 0a 61 2e 66
0000a0 u n ( ) ; 302 240 302 240 302 240 \n T e s t
75 6e 28 29 3b c2 a0 c2 a0 c2 a0 0a 54 65 73 74
0000b0 302 240 b ( ) ; 302 240 302 240 302 240 \n b . f
c2 a0 62 28 29 3b c2 a0 c2 a0 c2 a0 0a 62 2e 66
0000c0 u n ( ) ; 302 240 302 240 302 240 \n } 302 240 \n
75 6e 28 29 3b c2 a0 c2 a0 c2 a0 0a 7d c2 a0 0a
0000d0
可以看到这个特殊字符的十六进制表示是c2 a0,,用如下命令替换即可
[root@ba face]# sed -i 's/\xc2\xa0//g' 01.cpp
[root@ba face]# cat -v 01.cpp
#include <stdio.h>
struct Test
{
Test(int){}
Test(){}
void fun(){}
}; int main(void)
{
Test a(1);
a.fun();
Test b();
b.fun();
return 0;
}
[root@ba face]# g++ 01.cpp
01.cpp: In function ‘int main()’:
01.cpp:14:4: error: request for member ‘fun’ in ‘b’, which is of non-class type ‘Test()’
b.fun();
M-BM-的更多相关文章
- BM算法和Sunday快速字符串匹配算法
BM算法研究了很久了,说实话BM算法的资料还是比较少的,之前找了个资料看了,还是觉得有点生涩难懂,找了篇更好的和算法更好的,总算是把BM算法搞懂了. 1977年,Robert S.Boyer和J St ...
- windbg-bp、 bm、 bu、 bl、 bc、 ba(断点、硬件断点)
bp bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction . 对于后者,WinDBG 会自动找到MyApp!SomeFunction 对 ...
- BM算法 Boyer-Moore高质量实现代码详解与算法详解
Boyer-Moore高质量实现代码详解与算法详解 鉴于我见到对算法本身分析非常透彻的文章以及实现的非常精巧的文章,所以就转载了,本文的贡献在于将两者结合起来,方便大家了解代码实现! 算法详解转自:h ...
- hrbustoj 1551:基础数据结构——字符串2 病毒II(字符串匹配,BM算法练习)
基础数据结构——字符串2 病毒IITime Limit: 1000 MS Memory Limit: 10240 KTotal Submit: 284(138 users) Total Accepte ...
- BM串匹配算法
串匹配算法最常用的情形是从一篇文档中查找指定文本.需要查找的文本叫做模式串,需要从中查找模式串的串暂且叫做查找串吧. BM算法好后缀规则 公式: 对于长度为m的模式串P,在i处失配时,模式串向前滑动的 ...
- [转] 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽
字符串模式匹配算法——BM.Horspool.Sunday.KMP.KR.AC算法一网打尽 转载自:http://dsqiu.iteye.com/blog/1700312 本文内容框架: §1 Boy ...
- LaTeX 标题中使用 \bm 命令与 hyperref 的冲突
问题 当使用 hyperref 宏包时,在标题中使用 \bm 为数学符号加粗会出现错误 \documentclass{article} \usepackage{bm} \usepackage{hype ...
- 字符串匹配算法——KMP、BM、Sunday
KMP算法 KMP算法主要包括两个过程,一个是针对子串生成相应的“索引表”,用来保存部分匹配值,第二个步骤是子串匹配. 部分匹配值是指字符串的“前缀”和“后缀”的最长的共有元素的长度.以“ABCDAB ...
- 字符串匹配算法-BM
在用于查找子字符串的算法中,BM(Boyer-Moore)算法是当前有效且应用比较广泛的一种算法,各种文本编辑器的“查找”功能(Ctrl+F),大多采用Boyer-Moore算法.比我们学习的KMP算 ...
- 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽
字符串模式匹配算法——BM.Horspool.Sunday.KMP.KR.AC算法一网打尽 本文内容框架: §1 Boyer-Moore算法 §2 Horspool算法 §3 Sunday算法 §4 ...
随机推荐
- html&css学习一
HTML标签 HTML骨架 <HTML> <head> <title></title> </head> <body> </ ...
- VS Code怎样设置成中文
打开 VS Code Ctrl + Shift +p打开搜索框 搜索框内输入Configure Display Language 回车 修改代码中“locale”后面引号内内容为zh-CH 重新启动V ...
- 关于boostrap的modal隐藏问题(前端框架)
Modal(模态框) 首先,外引boostrap和Jquery的文件环境: <link rel="stylesheet" href="https://cdn.sta ...
- SQL Server系统视图sys.master_files不能正确显示数据库脱机状态
最近发现在SQL Server数据库(目前测试过SQL Server 2008, 2012,2014,2016各个版本)中,即使数据库处于脱机(OFFLINE)状态,但是sys.master_file ...
- FIFO深度计算
本文设计思想采用明德扬至简设计法.在使用FPGA设计系统时,常需要利用FIFO进行数据缓存保证数据不丢失,因此计算FIFO深度是至关重要的.FIFO的深度主要取决于“最恶劣”的情况,以下对于两种最常见 ...
- 标识符and数据类型
一,标识符 1.标识符用来给类,变量,包,方法等起名字的. 2.只能由字符,下滑线,美元符组成:这里的字符有大小写字母,中文字符,数字字符,但是符号只能有两个下划线和美元符. 3.不能由数字开头. 4 ...
- LeetCode算法题-Find Pivot Index(Java实现)
这是悦乐书的第304次更新,第323篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第172题(顺位题号是724).给定一个整数nums数组,编写一个返回此数组的" ...
- 应用wavesurfer.js绘制音频波形图小白极速上手总结
一.简介 1.1 引 人生中第一份工作公司有语音识别业务,需要做一个web网页来整合语音引擎的标注结果和错误率等参数,并提供人工比对的语音标注功能(功能类似于TranscriberAG等),(博 ...
- 一个 C# 文件权限的帮助类
直接贴代码了: FilePermissionHelper.cs using System.Collections.Generic; using System.IO; using System.Secu ...
- springmvc源码分析——入门看springmvc的加载过程
本文将分析springmvc是如何在容器启动的时候将各个模块加载完成容器的创建的. 我知道在web.xml文件中我们是这样配置springmvc的: 可以看到,springmvc的核心控制器就是Dis ...