您的位置:首页 > 其它

error C3872: "0xa0": 此字符不允许在标识符中使用

2014-11-04 15:54 302 查看
从书(PDF)上复制了一段代码到VS2008,结果产生了60个错误,我也是醉了。。。。

#include <iostream>
using namespace std;

#include <stdlib.h>

#include <string>
using namespace std;
int main()
{

char a[20],*str1="hello",*str2="wang",*str3;   
strcpy(a,str1);   
strcat(a," ");   
strcat(a,str2); 
  cout<<strlen(str1)<<" "<<strlen(a)<<endl;   
cout<<strcmp(a,str1)<<" "<<strcmp(a+6,str2)
<<" "<<strcmp(str1,str2)<<endl;   
str3=strchr(str1,'l');   
cout<<str3-str1<<"  ";   
str3=strrchr(str1,'l');   
cout<<str3-str1<<endl;   
str3=strstr(str2,"an"); 
  cout<<str2<<" "<<str3<<endl; 
while(1);
return 0;
}


解决方法:

就是每行的末尾带上了很多看不见的字符(直接粘过来有很多全角空格,用editplus打开文件就能看出来那些看不见的字符了...)。在下一行的头开始删除,一直到上一行的末尾,再回车换行,即可把上一行末尾的乱码字符全部删除掉

网上查到的资料解决方法

error C3872: '0xa0': this character is not allowed in an identifier

或者 error C3872: "0xa0": 此字符不允许在标识符中使用

这是因为直接复制代码的问题。0xa0是十六进制数,换成十进制就是160,表示汉字的开始。

解决办法:在报错的代码行检查两边的空格,用英文输入法的空格替换掉。

万恶的网络,万恶的word,这些无厘头的错误都是你们搞出来的!!

改正后的代码:

<pre name="code" class="html">#include <iostream>
using namespace std;

#include <stdlib.h>

#include <string>
using namespace std;
int main()
{
char a[20],*str1="hello",*str2="wang",*str3;
strcpy(a,str1);
strcat(a," ");//在a串后面添加一个空格字符
strcat(a,str2);
cout<<strlen(str1)<<" "<<strlen(a)<<endl;//显示长度
cout<<strcmp(a,str1)<<" "<<strcmp(a+6,str2)
<<" "<<strcmp(str1,str2)<<endl;//比较
str3=strchr(str1,'l');//左定位
cout<<str3-str1<<" ";
str3=strrchr(str1,'l');//右定位
cout<<str3-str1<<endl;
str3=strstr(str2,"an");
cout<<str2<<" "<<str3<<endl;
while(1);
return 0;
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐