首页编程createfile c语言createfile函数用法

createfile c语言createfile函数用法

编程之家2023-11-0792次浏览

无论是createfile还是c语言createfile函数用法,它们都是当前热门话题。如果你对它们感到好奇,那么请跟随小编的脚步,一起来揭开它们的秘密吧!

createfile c语言createfile函数用法

电脑为什么安装软件的时候总是提示(CreateFile失败

应该是文件写入权限设置错误引起的,用系统管理员账号登入系统后安装试试,或在系统管理员权限下找到你项目的文件夹,右键选择"属性",然后点击"完全"选项卡,点击"添加","高级","立即查找",找到平时登入所用帐户,然后"确定",最后再为登入所用帐户户勾选"写入权限",

c# 编程CreateFile函数

你找的是c++里的创建文件的函数,在c#里应该是用下面的

--------------------------------------------------------------------------------------

File类

提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream对象。

继承层次结构

createfile c语言createfile函数用法

System.Object

System.IO.File

命名空间: System.IO

程序集: mscorlib(在 mscorlib.dll中)

语法

C#

createfile c语言createfile函数用法

public static class File

File类型公开以下成员。

公共方法静态成员 Create(String)在指定路径中创建或覆盖文件。

公共方法静态成员 Create(String, Int32)创建或覆盖指定的文件。

公共方法静态成员 Create(String, Int32, FileOptions)创建或覆盖指定的文件,并指定缓冲区大小和一个描述如何创建或覆盖该文件的 FileOptions值。

公共方法静态成员 Create(String, Int32, FileOptions, FileSecurity)创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。

下面的示例在指定路径中创建一个文件,将一些信息写入该文件,再从文件中读取。

using System;

using System.IO;

using System.Text;

class Test

{

public static void Main()

{

string path=@"c:\temp\MyTest.txt";

try

{

// Delete the file if it exists.

if(File.Exists(path))

{

// Note that no lock is put on the

// file and the possibility exists

// that another process could do

// something with it between

// the calls to Exists and Delete.

File.Delete(path);

}

// Create the file.

using(FileStream fs= File.Create(path))

{

Byte[] info= new UTF8Encoding(true).GetBytes("This is some text in the file.");

// Add some information to the file.

fs.Write(info, 0, info.Length);

}

// Open the stream and read it back.

using(StreamReader sr= File.OpenText(path))

{

string s="";

while((s= sr.ReadLine())!= null)

{

Console.WriteLine(s);

}

}

}

catch(Exception Ex)

{

Console.WriteLine(Ex.ToString());

}

}

}

c语言createfile函数用法

CreateFile用法和例子

函数原型:

HANDLECreateFile(

LPCTSTRlpFileName,//指向文件名的指针

DWORDdwDesiredAccess,//访问模式(写/读)

DWORDdwShareMode,//共享模式

LPSECURITY_ATTRIBUTESlpSecurityAttributes,//指向安全属性的指针

DWORDdwCreationDisposition,//如何创建

DWORDdwFlagsAndAttributes,//文件属性

HANDLEhTemplateFile//用于复制文件句柄

);

参数列表

lpFileName String要打开的文件的名字

dwDesiredAccess Long如果为 GENERIC_READ表示允许对设备进行读访问;如果为 GENERIC_WRITE表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息

dwShareMode Long,零表示不共享; FILE_SHARE_READ和/或 FILE_SHARE_WRITE表示允许对文件进行共享访问

lpSecurityAttributes SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的话)

dwCreationDisposition Long,下述常数之一:

CREATE_NEW创建文件;如文件存在则会出错

CREATE_ALWAYS创建文件,会改写前一个文件

OPEN_EXISTING文件必须已经存在。由设备提出要求

OPEN_ALWAYS如文件不存在则创建它

TRUNCATE_EXISTING讲现有文件缩短为零长度

dwFlagsAndAttributes Long,一个或多个下述常数

FILE_ATTRIBUTE_ARCHIVE标记归档属性

FILE_ATTRIBUTE_COMPRESSED将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式

FILE_ATTRIBUTE_NORMAL默认属性

FILE_ATTRIBUTE_HIDDEN隐藏文件或目录

FILE_ATTRIBUTE_READONLY文件为只读

FILE_ATTRIBUTE_SYSTEM文件为系统文件

FILE_FLAG_WRITE_THROUGH操作系统不得推迟对文件的写操作

FILE_FLAG_OVERLAPPED允许对文件进行重叠操作

FILE_FLAG_NO_BUFFERING禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块

FILE_FLAG_RANDOM_ACCESS针对随机访问对文件缓冲进行优化

FILE_FLAG_SEQUENTIAL_SCAN针对连续访问对文件缓冲进行优化

FILE_FLAG_DELETE_ON_CLOSE关闭了上一次打开的句柄后,将文件删除。特别适合临时文件

也可在Windows NT下组合使用下述常数标记:

SECURITY_ANONYMOUS,SECURITY_IDENTIFICATION,SECURITY_IMPERSONATION,SECURITY_DELEGATION,SECURITY_CONTEXT_TRACKING,SECURITY_EFFECTIVE_ONLY

hTemplateFile Long,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性

返回值

如执行成功,则返回文件句柄。

INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS

(以上摘自百度百科)

实例:

1、直接在函数内指定文件地址:

voidplayCEwav()

{

CHAR*pBuffer;

DWORDRSize;

intfileSize=0;

inti;

HANDLEhOpenFile=(HANDLE)CreateFile(L"E:\\a.text",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,NULL,NULL);

if(hOpenFile==INVALID_HANDLE_VALUE)

{

hOpenFile=NULL;

MessageBoxA(NULL,"Cannotopenthefile","Playwav",MB_OK);

}

fileSize=GetFileSize(hOpenFile,NULL);

pBuffer=(CHAR*)malloc(fileSize);

ReadFile(hOpenFile,pBuffer,fileSize,&RSize,NULL);

//可将pBuffer显示在某区域或写入另一个文件来检查读出是否正确

free(pBuffer);

}

2、把文件地址通过参数传入:

voidplaywav(TCHAR*path)

{

CHAR*pBuffer;

DWORDRSize;

intfileSize=0;

inti;

TCHARszPath[100];

memset(szPath,0,sizeof(szPath));

_tcscpy(szPath,path);

HANDLEhOpenFile=(HANDLE)CreateFile(szPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,NULL,NULL);

if(hOpenFile==INVALID_HANDLE_VALUE)

{

hOpenFile=NULL;

MessageBoxA(NULL,"Cannotopenthefile","Playwav",MB_OK);

}

fileSize=GetFileSize(hOpenFile,NULL);

pBuffer=(CHAR*)malloc(fileSize);

ReadFile(hOpenFile,pBuffer,fileSize,&RSize,NULL);

free(pBuffer);

}

感谢您的阅读!希望本文对解决您关于createfile的问题有所帮助。如果您还有其他疑问,欢迎随时向我们提问。

exception_access_violation,exception access violation错误怎么解决trim函数的使用方法,trim函数怎么用的