createfile函数详解(create函数用法)

http://www.itjxue.com  2023-02-19 09:12  来源:未知  点击次数: 

c# 编程CreateFile函数

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

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

File 类

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

继承层次结构

System.Object

System.IO.File

命名空间: System.IO

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

语法

C#

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函数用法

你说的如果是自定义函数。就先写出来,比如

#include

void create()

{

//这里写函数代码

}

int main()

{

create();//在主函数里进行调用

}

CreateFile()函数的返回值,具体点的,有例子

VB声明:

Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName

As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long,

lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long,

ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

说明:

这是一个多功能的函数,可打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。

返回值:

Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS

或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS

参数表:

参数类型及说明

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,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性

关于CreateFile函数

不行的话你就强制写CreateFileA而不是CreateFile吧。

CreateFile有两个版本,CreateFileA和CreateFileW。

只写CreateFile的话它会根据工程的设置自动选择一个来用。

另外我赞成 _T 宏的方式,这也是让编译器自动选择一种字符串的表示方式来用

VB API函数createfile怎么用?

声明Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

说明

这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台

返回值

Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS

参数表

参数 类型及说明

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,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性

注解

打开一个通信端口时(如COM1),无论如何都要设置成 OPEN_EXISTING

这个函数代替了lOpen 和 lCreate函数,应该是我们的首选

希望这个对你有帮助,把这个API函数的使用方法完全告诉了你,你可以对照自己的需要进行使用!

(责任编辑:IT教学网)

更多
上一篇:没有了

推荐Flash动画文章