error C3872: '0x3000': this character is not allowed in an identifier
来源:互联网 发布:黑龙江消防网通知通告 编辑:程序博客网 时间:2024/05/01 17:51
编程时,出现如下的错误:
Error 1 error C3872: '0x3000': this character is not allowed in an identifier
Error 2 error C3872: '0x3000': this character is not allowed in an identifier
错误原因:
我当时是因为从网上复制了如下一段代码:
#include <stdarg.h>
char buffer[80];
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vsprintf(buffer, fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
vspf("%d %f %s", inumber, fnumber, string);
printf("%s\n", buffer);
return 0;
}
他说运行结果如下,但是我运行就出现的错误,其实他的代码没有错,是我从网页上复制时,带有看不见的符号(当你全选的时候,你就可以看到每一行代码后面都有长条),
导致编译就错误
该程序结果为
30 90.000000 abc
解决办法:
Error 1 error C3872: '0x3000': this character is not allowed in an identifier
Error 2 error C3872: '0x3000': this character is not allowed in an identifier
错误原因:
我当时是因为从网上复制了如下一段代码:
#include <stdarg.h>
char buffer[80];
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vsprintf(buffer, fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
vspf("%d %f %s", inumber, fnumber, string);
printf("%s\n", buffer);
return 0;
}
他说运行结果如下,但是我运行就出现的错误,其实他的代码没有错,是我从网页上复制时,带有看不见的符号(当你全选的时候,你就可以看到每一行代码后面都有长条),
导致编译就错误
该程序结果为
30 90.000000 abc
解决办法:
把每一行代码后面的,看不见的字符都删除,就可以解决这个问题。
补充知识:
vsprintf
/* 函数名: vsprintf 功 能: 送格式化输出到串中 返回值: 正常情况下返回生成字串的长度(除去\0),错误情况返回负值 用 法: int vsprintf(char *string, char *format, va_list param); // 将param 按格式format写入字符串string中 注: 该函数会出现内存溢出情况,建议使用vsnprintf 程序例: */ #include <stdarg.h> char buffer[80]; int vspf(char *fmt, ...) { va_list argptr; int cnt; va_start(argptr, fmt); cnt = vsprintf(buffer, fmt, argptr); va_end(argptr); return(cnt); } int main(void) { int inumber = 30; float fnumber = 90.0; char string[4] = "abc"; vspf("%d %f %s", inumber, fnumber, string); printf("%s\n", buffer); return 0; } 该程序结果为 30 90.000000 abc VA_LIST的用法( VA_LIST 是在C语言中解决变参问题的一组宏): (1)首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针 (2)然后用VA_START宏初始化变量刚定义的VA_LIST变量,这个宏的第二个 参数是第一个可变参数的前一个参数,是一个固定的参数。(如在运行VA_START (ap,v)以后,ap指向第一个可变参数在堆栈的地址。) (3)然后用VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型。 (4)最后用VA_END宏结束可变参数的获取。然后你就可以在函数里使用第二个参数了。 如果函数有多个可变参数的,依次调用VA_ARG获取各个参数。
- VS错误error C3872: '0x3000': this character is not allowed in an identifier
- VS错误error C3872: '0x3000': this character is not allowed in an identifier
- error C3872: '0x3000': this character is not allowed in an identifier 解决方法
- 报错error C3872: '0x3000': this character is not allowed in an identifier
- error C3872: '0x3000': this character is not allowed in an identifier
- VS错误error C3872: '0x3000': this character is not allowed in an identifier
- VS错误error C3872: '0x3000': this character is not allowed in an identifier
- VS错误error C3872: '0x3000': this character is not allowed in an identifier
- error C3872: '0x3000': this character is not allowed in an identifier
- error C3872: '0x3000': this character is not allowed in an identifier 解决方法
- VS错误error C3872: '0x3000': this character is not allowed in an identifier
- error C3872: '0x3000': this character is not allowed in an identifier.怎么解决?
- VS2005中编译出错:Error 1 error C3872: '0x3000': this character is not allowed in an identifier
- VS:error C3872: '0xe044': this character is not allowed in an identifier解决方法
- 关于VC 的 error C3872: '0x3000':
- 安装caffe编译opencv3.0出现error: a storage class is not allowed in an explicit specialization问题
- Error:Content is not allowed in prolog.
- Got an exception - Unexpected character 0xfeff in identifier
- 2.mongoDB初略了解。
- GlobeControl轨道飞行工具和显示指北针
- 如何制作跨平台跨浏览器的plugin
- eclipse多语言化
- 分享一篇幅提高MySQL数据库查询效率的技巧文章大家欣赏
- error C3872: '0x3000': this character is not allowed in an identifier
- 绝好的MongoDB学习资料之八. Replication (2)
- android 自动更新数据示例
- 硬盘原理及常识
- 设置GlobeControl当前的工具
- dojo类机制简介
- FUSE简介
- Zend Framework教程-Resources官方示例翻译
- 进程、轻量级进程和线程的一些点