C++总是提示这个错误(高分求解)
OBJECT_ATTRIBUTESobjectAttributes;IO_STATUS_BLOCKiostatus;HANDLEhfile;UNICODE_STRINGl...
OBJECT_ATTRIBUTES objectAttributes;
IO_STATUS_BLOCK iostatus;
HANDLE hfile;
UNICODE_STRING logFileUnicodeString;
//初始化字符串UNICODE_STRING字符串
RtlInitUnicodeString(&logFileUnicodeString,
L"\\??\\C:\\1.log");
//或者写成"\\Device\\HarddiskVolume1\\1.LOG"
//初始化objectAttributes
Initializeobject_Attributes(&objectAttributes,
&logFileUnicodeString,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
//创建文件
NTSTATUS ntStatus = ZwCreatFile( &hfile,
GENERIC_WRITE,
&objectAttributes,
&iostatus,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0 );
if ( NT_SUCCESS(ntstatus))
{
KdPrint(("Creat file succussfully!\n));
}
else
{
KdPrint(("Creat file unsuccussfully!\n));
}
错误:
E:\c++\open3\open3.cpp(2) : error C2146: syntax error : missing ';' before identifier 'objectAttributes'
E:\c++\open3\open3.cpp(2) : error C2501: 'OBJECT_ATTRIBUTES' : missing storage-class or type specifiers
E:\c++\open3\open3.cpp(2) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错. 展开
IO_STATUS_BLOCK iostatus;
HANDLE hfile;
UNICODE_STRING logFileUnicodeString;
//初始化字符串UNICODE_STRING字符串
RtlInitUnicodeString(&logFileUnicodeString,
L"\\??\\C:\\1.log");
//或者写成"\\Device\\HarddiskVolume1\\1.LOG"
//初始化objectAttributes
Initializeobject_Attributes(&objectAttributes,
&logFileUnicodeString,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
//创建文件
NTSTATUS ntStatus = ZwCreatFile( &hfile,
GENERIC_WRITE,
&objectAttributes,
&iostatus,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0 );
if ( NT_SUCCESS(ntstatus))
{
KdPrint(("Creat file succussfully!\n));
}
else
{
KdPrint(("Creat file unsuccussfully!\n));
}
错误:
E:\c++\open3\open3.cpp(2) : error C2146: syntax error : missing ';' before identifier 'objectAttributes'
E:\c++\open3\open3.cpp(2) : error C2501: 'OBJECT_ATTRIBUTES' : missing storage-class or type specifiers
E:\c++\open3\open3.cpp(2) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错. 展开
5个回答
展开全部
OBJECT_ATTRIBUTES objectAttributes; 写法不正确,出现这个问题的原因可能在 OBJECT_ATTRIBUTES 定义上,
可能是 否未包含 'OBJECT_ATTRIBUTES' 类型的头文件,或 在C语言环境下编译C++代码,或OBJECT_ATTRIBUTES 定义不正确,类型后面缺少 " ; "
最好找你旁边熟悉C++的人看一下
可能是 否未包含 'OBJECT_ATTRIBUTES' 类型的头文件,或 在C语言环境下编译C++代码,或OBJECT_ATTRIBUTES 定义不正确,类型后面缺少 " ; "
最好找你旁边熟悉C++的人看一下
更多追问追答
追问
具体需要怎么解决呀 这个不会的话 后面的任务直接没法进行
追答
找到 OBJECT_ATTRIBUTES 定义的头文件,看在 open3.cpp 有没有包含,没有就 用
include "头文件名" 包含。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
从错误提示看,OBJECT_ATTRIBUTES似乎不是结构体。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这不是一个完整的程序啊,只是一段代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
objectAttributes 定义不能被识别
追问
怎么样才能被识别呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是没加头文件啊
追问
应该是吧 我不知道哪个头文件是呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询