1. createfile 函数怎么打开txt文件
HANDLE hFile;
DWORD szBuffer[4];
const char szText[] = "QQ:610847323";
char Length;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nShowCmd)
{
hFile=CreateFile("D:\\123.txt",GENERIC_WRITE,FILE_SHARE_READ,NULL,
OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);//先创建一个空来的文件
Length=lstrlen(szText);//计算源自己要写入的长度
WriteFile(hFile,szText,Length,szBuffer,NULL);//写入刚才创建的空文件中
return 0;
2. 怎么用CreateFile以写的方式打开一个只读文件
好像参数位置错了吧?
应该是第3个参数吧
LPCTSTR lpFileName,//file name
DWORD dwDesiredAccess,//access mode
DWORD dwShareMode,//share mode 这里添的0,也就是专不共享属了
hfile=CreateFile(TEXT("123.txt"),
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, ......);
-----
MSDN
http://msdn.microsoft.com/en-us/library/aa363874.aspx
3. 为什么CreateFile无法打开驱动
应该是文件写入复权限制设置错误引起的,用系统管理员账号登入系统后安装试试,或在系统管理员权限下找到你项目的文件夹,右键选择"属性",然后点击"完全"选项卡,点击"添加","高级","立即查找",找到平时登入所用帐户,然后"确定",最后再为登入所用帐户户勾选"写入权限",
如果系统进程的某些文件比如注册表的SAM文件等等都是被系统独占打开的,你要能用CreateFile函数轻松打开这些文件那系统的安全成什么了?明确告诉你想要用这个函数打开被独占的文件想都别想了。如此重量级的函数微软肯定对它的安全性做了严密的测试,所以放弃吧。
4. CreateFile打开的分区,怎么获取文件的大小啊
通过 GetFileSize API 函数获取文件大回小;答
HANDLE hFile;
DWORD dwFileSize = 0;
char szData[30];
hFile = CreateFile("e:\test1.wav",GENERIC_READ,FILE_SHARE_READ,NULL,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
dwFileSize = GetFileSize(hFile,NULL);
CloseHandle(hFile);
sprintf(szData,"File Size : %d",dwFileSize);
MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION);
5. CreateFile 另一个程序正在使用此文件,进程无法访问
你想干嘛呀。如果系统进程的某些文件比如注册表的SAM文件等等都是被系统独占打开版的,你要能用CreateFile函数轻松权打开这些文件那系统的安全成什么了?明确告诉你想要用这个函数打开被独占的文件想都别想了。如此重量级的函数微软肯定对它的安全性做了严密的测试,所以放弃吧。
6. 用CreateFile()打开的文件,怎么判断读写位置是否已经是末尾
你是因为Create的时候带有OPEN_ALWAYS参数吧。
这时候末尾写文件不需要做判断,直接
fseek(stream,SEEK_END);//FileSeek
跳转到末尾写就可以了。
7. createfile打开一个文件后怎么关闭这个文件
你已经指定了FILE_SHARE_READ|FILE_SHARE_WRITE,
另外的进程也用FILE_SHARE_READ的方式打开,应该可以的。
8. 两个程序怎么用createfile同时打开一个文件
好像参数位置错了吧?
应该是第3个参数吧
LPCTSTR lpFileName,//file name
DWORD dwDesiredAccess,//access mode
DWORD dwShareMode,//share mode 这里添的0,也就是不共享了
hfile=CreateFile(TEXT("123.txt"),
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, ......);
-----
MSDN
http://msdn.microsoft.com/en-us/library/aa363874.aspx
9. vc 我用文件对话框将要打开的文件路径获取后,用createfile打开文件时失败。各位高手是什么原因啊
建议使用GetLastError()查看抄对应错误代码来识别错误原因。
1、可能是dwShareMode、dwCreationDisposition不配套。
2、也可能是文件正处于被其它进程以独占模式打开。
3、也可能对该文件没有访问权限。
10. CreateFile怎么打开相对路径的文件
是这样的,你用编译器调试执行的时候,当前目录不是 debug文件,而是你的工程目录。这内个目录和容你的exe所在目录实际上是不同的。
所以为了测试,你可以把exe所在目录下的那个 文件 复制一份到你的工程目录下。
或者你不要用编译器去调试,直接找到debug下的exe文件,双击启动看下效果