Createfile函数再哪个头文件里面啊???

oicqliuyong 2008-10-15 02:15:02
我查MSDN上面只是说了Createfile函数的原型,但是并没有告诉这个函数是在哪个头文件里面,所以下面的程序老是出错.
#include <stdio.h>
#include <tchar.h>
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
createfile("c:\\liuyong.txt",generic_read|generic_write,file_share_read,null,open_always,file_attribute_normal,0);
return 0;
}
...全文
3197 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
forpeople 2009-07-01
  • 打赏
  • 举报
回复
xiexie

谢谢分享

正好在试

同样的问题啊

呵呵呵呵
fengjzh1977 2008-10-15
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <tchar.h>
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
CreateFile(_T("c:\\liuyong.txt"),GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
return 0;
}
yayafu 2008-10-15
  • 打赏
  • 举报
回复
CreateFile(_T("c:\\liuyong.txt"),...
yayafu 2008-10-15
  • 打赏
  • 举报
回复
CreateFile(_T("c:\\liuyong.txt"),...
oicqliuyong 2008-10-15
  • 打赏
  • 举报
回复
按照上面兄弟的程序,但是还是有错误提示.

1>------ 已启动生成: 项目: 13, 配置: Debug Win32 ------
1>正在编译...
1>13.cpp
1>d:\刘永\编程\c\练习\13\13\13.cpp(8) : error C2664: “CreateFileW”: 不能将参数 1 从“const char [15]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>生成日志保存在“file://d:\刘永\编程\C\练习\13\13\Debug\BuildLog.htm”
1>13 - 1 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
hityct1 2008-10-15
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include <stdio.h>
#include <tchar.h>
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
CreateFile("c:\\liuyong.txt",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
return 0;
}
oicqliuyong 2008-10-15
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <Winbase.h>

int _tmain(int argc, _TCHAR* argv[])
{
Createfile("c:\\liuyong.txt",generic_read|generic_write,file_share_read,null,open_always,file_attribute_normal,0);
return 0;
}

1>------ 已启动生成: 项目: test, 配置: Debug Win32 ------
1>正在编译...
1>test.cpp
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C2065: “generic_read”: 未声明的标识符
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C2065: “generic_write”: 未声明的标识符
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C2065: “file_share_read”: 未声明的标识符
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C2065: “null”: 未声明的标识符
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C2065: “open_always”: 未声明的标识符
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C2065: “file_attribute_normal”: 未声明的标识符
1>d:\刘永\编程\c\练习\test\test\test.cpp(8) : error C3861: “Createfile”: 找不到标识符
1>生成日志保存在“file://d:\刘永\编程\C\练习\test\test\Debug\BuildLog.htm”
1>test - 7 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
jia_xiaoxin 2008-10-15
  • 打赏
  • 举报
回复
在winbase.h中
但你只要包含
#include <windows.h>
就可以了。
oicqliuyong 2008-10-15
  • 打赏
  • 举报
回复
不好意思,我比较笨.大小写改了,还是编译出错.
#include <stdio.h>
#include <tchar.h>
#include <winbase.h>

int _tmain(int argc, _TCHAR* argv[])
{
Createfile("c:\\liuyong.txt",generic_read|generic_write,file_share_read,null,open_always,file_attribute_normal,0);
return 0;
}

1>------ 已启动生成: 项目: test, 配置: Debug Win32 ------
1>正在编译...
1>test.cpp
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(226) : error C2146: 语法错误 : 缺少“;”(在标识符“Internal”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(226) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(226) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(227) : error C2146: 语法错误 : 缺少“;”(在标识符“InternalHigh”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(227) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(227) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(230) : error C2146: 语法错误 : 缺少“;”(在标识符“Offset”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(230) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(230) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(231) : error C2146: 语法错误 : 缺少“;”(在标识符“OffsetHigh”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(231) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(231) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(234) : error C2146: 语法错误 : 缺少“;”(在标识符“Pointer”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(234) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(234) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(237) : error C2146: 语法错误 : 缺少“;”(在标识符“hEvent”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(237) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(237) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(241) : error C2146: 语法错误 : 缺少“;”(在标识符“nLength”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(241) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(241) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(242) : error C2146: 语法错误 : 缺少“;”(在标识符“lpSecurityDescriptor”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(242) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(242) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(243) : error C2146: 语法错误 : 缺少“;”(在标识符“bInheritHandle”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(243) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(243) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(247) : error C2146: 语法错误 : 缺少“;”(在标识符“hProcess”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(247) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(247) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(248) : error C2146: 语法错误 : 缺少“;”(在标识符“hThread”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(248) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(248) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(249) : error C2146: 语法错误 : 缺少“;”(在标识符“dwProcessId”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(249) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(249) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(250) : error C2146: 语法错误 : 缺少“;”(在标识符“dwThreadId”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(250) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(250) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(261) : error C2146: 语法错误 : 缺少“;”(在标识符“dwLowDateTime”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(261) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(261) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(262) : error C2146: 语法错误 : 缺少“;”(在标识符“dwHighDateTime”的前面)

) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(274) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(275) : error C2146: 语法错误 : 缺少“;”(在标识符“wDay”的前面)
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h(275) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>生成日志保存在“file://d:\练习\test\test\Debug\BuildLog.htm”
1>test - 73 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========


或者有谁可以帮我给出个事例程序么?谢谢.
erwin1984 2008-10-15
  • 打赏
  • 举报
回复
函数名区分大小写,是 CreateFile,不是 createfile
generic_read 等参数也都被小写转换了.
嵌云阁主 2008-10-15
  • 打赏
  • 举报
回复
CreateFile
oicqliuyong 2008-10-15
  • 打赏
  • 举报
回复
编译还是出错啊.
Dan_M 2008-10-15
  • 打赏
  • 举报
回复
Winbase.h.

65,196

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧