鱼C论坛

 找回密码
 立即注册
查看: 3742|回复: 20

[已解决]求c语言文件操作源代码

[复制链接]
发表于 2015-9-24 22:51:25 | 显示全部楼层 |阅读模式
0鱼币
文件操作函数的例子;
文件的建立,读,写,从命名,打开,关闭文件的例子,文件向数组中传送;
         本人天天在线,求位初学者一起讨论c语言
最佳答案
2015-9-24 22:51:26
新手我都不懂
复制加粘贴
是不要这些呢
Windows API函数
功能
CloseHandle        关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的
CompareFileTime        根据FILETIME结构的信息,对比两个文件的时间
CopyFile        复制文件。与vb的filecopy命令相似
CreateFile        这是一个全功能的函数,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台
DeleteFile        删除指定文件
FindClose        关闭由FindFirstFile函数创建的一个搜索句柄
FindFirstFile        根据文件名查找文件
FindNextFile        根据调用FindFirstFile函数时指定的一个文件名查找下一个文件
FlushFileBuffers        针对指定的文件句柄,刷新内部文件缓冲区
GetBinaryType        判断文件是否可以执行
GetFileAttributes        判断指定文件的属性
GetFileInformationByHandle        这个函数提供了获取文件信息的一种机制——在一个BY_HANDLE_FILE_INFORMATION结构中装载与文件有关的信息
GetFileSize        判断文件长度
GetFileTime        取得指定文件的时间信息
GetFileType        在给出文件句柄的前提下,判断文件类型
GetFileVersionInfo        从支持版本标记的一个模块里获取文件版本信息
GetFileVersionInfoSize        针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区
GetShortPathName        获取指定文件的短路径名
GetTempFileName        这个函数包含了一个临时文件的名字,它可由应用程序使用
lclose        关闭指定的文件,请参考CloseHandle函数,了解进一步的情况
lcreat        创建一个文件。如文件已经存在,就会将其缩短成零长度,并将其打开,以便读写
llseek        设置文件中进行读写的当前位置。该函数与vb的seek语句类似。如果用vb的open命令打开了一个文件,那么不要再对这个文件使用llseek函数
LockFile        在windows中,文件可用共享模式打开——在这种情况下,多个进程可同时访问该文件。利用这个函数,要对文件进行读写的一个应用程序可将文件的某一部分锁定起来,使其不能由其他应用程序访问。这样便避免了同时读写时发生的冲突
LockFileEx        与LockFile相似,只是它提供了更多的功能
lopen        以二进制模式打开指定的文件
lread        将文件中的数据读入内存缓冲区
lwrite        将数据从内存缓冲区写入一个文件
MoveFile, MoveFileEx        移动文件。如dwFlags设为零,则MoveFile完全等价于MoveFileEx
OpenFile        这个函数能执行大量不同的文件操作。和这个函数相比,请优先考虑win32的CreateFile函数(它能打开命名管道和控制Unicode文件名,同时不受128个字符的路径名称的限制)
ReadFile        从文件中读出数据。与lread函数相比,这个函数要明显灵活的多。该函数能够操作通信设备、管道、套接字以及邮槽
ReadFileEx        与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调
SearchPath        查找指定文件
SetEndOfFile        针对一个打开的文件,将当前文件位置设为文件末尾
SetFileAttributes        设置文件属性
SetFilePointer        在一个文件中设置当前的读写位置
SetFileTime        设置文件的创建、访问及上次修改时间
UnlockFile        解除对一个文件的锁定
UnlockFileEx        解除对一个文件的锁定
WriteFile        将数据写入一个文件。该函数比lwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理
WriteFileEx        与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调
  让我们通过几个例子来详细的了解一下其中主要的几个函数及其用法:
1、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

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

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

  参数说明:

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

  示例如下:

long hfile= CreateFile(“c:test.txt”,GENERIC_READ,

FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,

OPEN_EXISTING,FILE_ELAG_OVERLAPPED,NULL)

  2、lcreat

  作用:创建一个文件。如文件已经存在,就会将其缩短成零长度,并将其打开,以便读写

  声明形式:

Declare Function lcreat Lib "kernel32" Alias "_lcreat" (ByVal lpPathName As String, ByVal iAttribute As Long) As Long

  说明:此函数的返回值类型为Long,如执行成功,返回打开文件的句柄。如果出错,则返回HFILE_ERROR

  该函数会打开已由其他应用程序打开的文件,所以使用它时要小心。win32的CreateFile函数已取代了这个函数。这个函数与vb的open语句作用相同

  参数说明:

参数        类型及说明
lpPathName        String,欲创建的文件的名字
iAttribute        Long,下述值之一:
 0——文件能够读写
 1——创建只读文件
 2——创建隐藏文件
 3——创建系统文件

  例如下面的语句打开c:test.txt文件

lcreat “c:test.txt”,0

3、lopen

  作用:以二进制模式打开指定的文件

  声明形式:

Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long
  说明:此函数的返回值类型为Long,如执行成功,返回打开文件的句柄。HFILE_ERROR表示出错。会设置GetLastError

  CreateFile函数在win32下提供了更多的功能:

  参数说明:

参数        类型及说明
lpPathName        String,欲打开文件的名字
iReadWrite        Long,访问模式和共享模式常数的一个组合,如下所示:
1、访问模式
READ        打开文件,读取其中的内容
READ_WRITE        打开文件,对其进行读写
WRITE        打开文件,在其中写入内容
2、共享模式(参考OpenFile函数的标志常数表)
OF_SHARE_COMPAT, OF_SHARE_DENY_NONE, OF_SHARE_DENY_READ, OF_SHARE_DENY_WRITE, OF_SHARE_EXCLUSIVE
  4、GetFileTime

  作用:取得指定文件的时间信息

  声明形式:

Declare Function GetFileTime Lib "kernel32" Alias "GetFileTime" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
  说明:Long,非零表示成功,零表示失败。会设置GetLastError

  如果不需要特定的信息,那么lpCreationTime,lpLastAccessTime,lpLastWriteTime都可以设置为零(用ByVal As Long)。这个函数返回的文件时间采用UTC格式

  参数说明:

参数        类型及说明
hFile        Long,文件的句柄
lpCreationTime        FILETIME,用于装载文件的创建时间
lpLastAccessTime        FILETIME,用于装载文件上一次访问的时间(FAT文件系统不支持这一特性)
lpLastWriteTime        FILETIME,用于装载文件上一次修改的时间
  示例代码如下:

‘函数声明

Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FileTime, lpLastAccessTime As FileTime, lpLastWriteTime As FileTime) As Long

Private Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long

‘定义变量

Dim file As Long
Dim CreationTime As FileTime
Dim lastaccesstime As FileTime
Dim lastaccesstime As FileTime

‘定义结构

Private Type FileTime
 dwLowDateTime As Long
 dwHighDateTime As Long

End Type

Private Sub Form_Load()
 str1 = "c:text.txt"
 file = lopen(str1, READ_WRITE) ‘打开文件
 temp = GetFileTime(file, CreationTime, lastaccesstime, lastwritetime)’得到文件相关信息
 MsgBox CreationTime ‘显示信息

End Sub
  以上代码显示文件的创建时间

  5、CopyFile

  作用:复制文件。与vb的filecopy命令相似

  声明形式:

Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
  说明:Long,非零表示成功,零表示失败。会设置GetLastError

  参数说明:

参数        类型及说明
lpExistingFileName        String,源文件名
lpNewFileName        String,目标文件名
bFailIfExists        Long,如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。否则目标文件被改写
  示例代码如下:

‘函数声明

Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Private Sub Form_Load()

 CopyFile "c:test1.txt", "c:test2.txt", 1

End Sub
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-24 22:51:26 | 显示全部楼层
伸手党没有人理睬的 —— 自己好好学吧~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-24 22:51:26 | 显示全部楼层    本楼为最佳答案   
新手我都不懂
复制加粘贴
是不要这些呢
Windows API函数
功能
CloseHandle        关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的
CompareFileTime        根据FILETIME结构的信息,对比两个文件的时间
CopyFile        复制文件。与vb的filecopy命令相似
CreateFile        这是一个全功能的函数,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台
DeleteFile        删除指定文件
FindClose        关闭由FindFirstFile函数创建的一个搜索句柄
FindFirstFile        根据文件名查找文件
FindNextFile        根据调用FindFirstFile函数时指定的一个文件名查找下一个文件
FlushFileBuffers        针对指定的文件句柄,刷新内部文件缓冲区
GetBinaryType        判断文件是否可以执行
GetFileAttributes        判断指定文件的属性
GetFileInformationByHandle        这个函数提供了获取文件信息的一种机制——在一个BY_HANDLE_FILE_INFORMATION结构中装载与文件有关的信息
GetFileSize        判断文件长度
GetFileTime        取得指定文件的时间信息
GetFileType        在给出文件句柄的前提下,判断文件类型
GetFileVersionInfo        从支持版本标记的一个模块里获取文件版本信息
GetFileVersionInfoSize        针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区
GetShortPathName        获取指定文件的短路径名
GetTempFileName        这个函数包含了一个临时文件的名字,它可由应用程序使用
lclose        关闭指定的文件,请参考CloseHandle函数,了解进一步的情况
lcreat        创建一个文件。如文件已经存在,就会将其缩短成零长度,并将其打开,以便读写
llseek        设置文件中进行读写的当前位置。该函数与vb的seek语句类似。如果用vb的open命令打开了一个文件,那么不要再对这个文件使用llseek函数
LockFile        在windows中,文件可用共享模式打开——在这种情况下,多个进程可同时访问该文件。利用这个函数,要对文件进行读写的一个应用程序可将文件的某一部分锁定起来,使其不能由其他应用程序访问。这样便避免了同时读写时发生的冲突
LockFileEx        与LockFile相似,只是它提供了更多的功能
lopen        以二进制模式打开指定的文件
lread        将文件中的数据读入内存缓冲区
lwrite        将数据从内存缓冲区写入一个文件
MoveFile, MoveFileEx        移动文件。如dwFlags设为零,则MoveFile完全等价于MoveFileEx
OpenFile        这个函数能执行大量不同的文件操作。和这个函数相比,请优先考虑win32的CreateFile函数(它能打开命名管道和控制Unicode文件名,同时不受128个字符的路径名称的限制)
ReadFile        从文件中读出数据。与lread函数相比,这个函数要明显灵活的多。该函数能够操作通信设备、管道、套接字以及邮槽
ReadFileEx        与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调
SearchPath        查找指定文件
SetEndOfFile        针对一个打开的文件,将当前文件位置设为文件末尾
SetFileAttributes        设置文件属性
SetFilePointer        在一个文件中设置当前的读写位置
SetFileTime        设置文件的创建、访问及上次修改时间
UnlockFile        解除对一个文件的锁定
UnlockFileEx        解除对一个文件的锁定
WriteFile        将数据写入一个文件。该函数比lwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理
WriteFileEx        与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调
  让我们通过几个例子来详细的了解一下其中主要的几个函数及其用法:
1、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

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

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

  参数说明:

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

  示例如下:

long hfile= CreateFile(“c:test.txt”,GENERIC_READ,

FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,

OPEN_EXISTING,FILE_ELAG_OVERLAPPED,NULL)

  2、lcreat

  作用:创建一个文件。如文件已经存在,就会将其缩短成零长度,并将其打开,以便读写

  声明形式:

Declare Function lcreat Lib "kernel32" Alias "_lcreat" (ByVal lpPathName As String, ByVal iAttribute As Long) As Long

  说明:此函数的返回值类型为Long,如执行成功,返回打开文件的句柄。如果出错,则返回HFILE_ERROR

  该函数会打开已由其他应用程序打开的文件,所以使用它时要小心。win32的CreateFile函数已取代了这个函数。这个函数与vb的open语句作用相同

  参数说明:

参数        类型及说明
lpPathName        String,欲创建的文件的名字
iAttribute        Long,下述值之一:
 0——文件能够读写
 1——创建只读文件
 2——创建隐藏文件
 3——创建系统文件

  例如下面的语句打开c:test.txt文件

lcreat “c:test.txt”,0

3、lopen

  作用:以二进制模式打开指定的文件

  声明形式:

Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long
  说明:此函数的返回值类型为Long,如执行成功,返回打开文件的句柄。HFILE_ERROR表示出错。会设置GetLastError

  CreateFile函数在win32下提供了更多的功能:

  参数说明:

参数        类型及说明
lpPathName        String,欲打开文件的名字
iReadWrite        Long,访问模式和共享模式常数的一个组合,如下所示:
1、访问模式
READ        打开文件,读取其中的内容
READ_WRITE        打开文件,对其进行读写
WRITE        打开文件,在其中写入内容
2、共享模式(参考OpenFile函数的标志常数表)
OF_SHARE_COMPAT, OF_SHARE_DENY_NONE, OF_SHARE_DENY_READ, OF_SHARE_DENY_WRITE, OF_SHARE_EXCLUSIVE
  4、GetFileTime

  作用:取得指定文件的时间信息

  声明形式:

Declare Function GetFileTime Lib "kernel32" Alias "GetFileTime" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
  说明:Long,非零表示成功,零表示失败。会设置GetLastError

  如果不需要特定的信息,那么lpCreationTime,lpLastAccessTime,lpLastWriteTime都可以设置为零(用ByVal As Long)。这个函数返回的文件时间采用UTC格式

  参数说明:

参数        类型及说明
hFile        Long,文件的句柄
lpCreationTime        FILETIME,用于装载文件的创建时间
lpLastAccessTime        FILETIME,用于装载文件上一次访问的时间(FAT文件系统不支持这一特性)
lpLastWriteTime        FILETIME,用于装载文件上一次修改的时间
  示例代码如下:

‘函数声明

Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FileTime, lpLastAccessTime As FileTime, lpLastWriteTime As FileTime) As Long

Private Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long

‘定义变量

Dim file As Long
Dim CreationTime As FileTime
Dim lastaccesstime As FileTime
Dim lastaccesstime As FileTime

‘定义结构

Private Type FileTime
 dwLowDateTime As Long
 dwHighDateTime As Long

End Type

Private Sub Form_Load()
 str1 = "c:text.txt"
 file = lopen(str1, READ_WRITE) ‘打开文件
 temp = GetFileTime(file, CreationTime, lastaccesstime, lastwritetime)’得到文件相关信息
 MsgBox CreationTime ‘显示信息

End Sub
  以上代码显示文件的创建时间

  5、CopyFile

  作用:复制文件。与vb的filecopy命令相似

  声明形式:

Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
  说明:Long,非零表示成功,零表示失败。会设置GetLastError

  参数说明:

参数        类型及说明
lpExistingFileName        String,源文件名
lpNewFileName        String,目标文件名
bFailIfExists        Long,如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。否则目标文件被改写
  示例代码如下:

‘函数声明

Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Private Sub Form_Load()

 CopyFile "c:test1.txt", "c:test2.txt", 1

End Sub

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
ssk66b1223 + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-24 22:57:00 | 显示全部楼层
怎么没人啊,来人啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-25 08:27:32 | 显示全部楼层
我是来领鱼币的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-25 19:00:55 | 显示全部楼层
回帖能领鱼币么么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-26 18:22:40 | 显示全部楼层
不知奥啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-27 00:10:07 | 显示全部楼层
gzy321m 发表于 2015-9-25 00:01
新手我都不懂
复制加粘贴
是不要这些呢

谢谢,你的关注,我要的是c语言的文件函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-27 00:19:50 | 显示全部楼层

我很希望有人领
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-27 00:20:43 | 显示全部楼层
442860990 发表于 2015-9-25 19:00
回帖能领鱼币么么

要答案才行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-27 00:28:25 | 显示全部楼层
~风介~ 发表于 2015-9-24 23:47
伸手党没有人理睬的 —— 自己好好学吧~

那要学几年的,一个不懂行的找计算机语言找了7.8年,才找的c语言,和汇编,再要7.8年把这两语言学懂太费事,费精力,出来问问多好。真的学不成,只好买代码了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-27 00:48:34 | 显示全部楼层
~风介~ 发表于 2015-9-24 23:47
伸手党没有人理睬的 —— 自己好好学吧~

谢谢你的主题额,呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-27 00:54:22 | 显示全部楼层
~风介~ 发表于 2015-9-24 22:51
伸手党没有人理睬的 —— 自己好好学吧~

这个评选是有点夸张了,也是没法子的事实;他本人就包含答案,不信的话,到他的主题里转转,你会有所收获
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-27 10:52:25 | 显示全部楼层
ssk66b1223 发表于 2015-9-27 00:28
那要学几年的,一个不懂行的找计算机语言找了7.8年,才找的c语言,和汇编,再要7.8年把这两语言学懂太费 ...

好好跟着小甲鱼的《零基础入门学习C语言》, 过两个月这样应该就会了。好好加油吧~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-29 22:30:31 | 显示全部楼层
* 控制台程序
* 参数格式<一>:<输入文件> <输出文件>,示例:
*    getIpList.exe Result.txt IpList.txt
*
* 参数格式<二>:<输入文件>,输出文件将默认使用"$工作目录\IpList.txt",示例:
*    getIpList.exe Result.txt
*
* 参数格式<三>:无参数,输入文件将默认使用"$工作目录\Result.txt",输出文件将默认使用"$工作目录\IpList.txt",示例:
*    getIpList.exe
*
*/
/************************************************************************/


#include <stdio.h>

int main(int argc, char* argv[])
{
        //第一个参数为输入文件,第二个参数为输出文件
        char *pszInputFileName = argv[1];
        char *pszOutputFileName = argv[2];
        //若输入文件为NULL,说明无参数输入,设置输入文件与输出文件为默认文件名
        if (!pszInputFileName)
        {
                pszInputFileName = "Result.txt";
                pszOutputFileName = "IpList.txt";
        }

        //若输出文件为NULL,说明只有一个参数输入,作为输入文件,那么输出文件使用默认文件名
        if (!pszOutputFileName)
        {
                pszOutputFileName = "IpList.txt";
        }

        //使用只读文本模式打开输入文件
        FILE *pInput = fopen(pszInputFileName , "rt");
        //使用只写文本模式打开输出文件
        FILE *pOutput = fopen(pszOutputFileName , "wt");
        //错误判断
        if (!pInput || !pOutput)
        {
                //输出错误信息并关闭文件句柄
                printf("打开文件错误: %s\n" , pInput ? pszOutputFileName : pszInputFileName);
                if (pInput) fclose(pInput);
                if (pOutput) fclose(pOutput);
        }
        else
        {
                //用于读取文件的缓冲
                char szBuf[256];
                //用于格式化输入的缓冲
                int nIp[4];
                //读取一行
                while (fgets(szBuf , 256 , pInput))
                {
                        //格式化输入
                        int nRet = sscanf(szBuf , "%d.%d.%d.%d " , &nIp[0] , &nIp[1] , &nIp[2] , &nIp[3]);
                        //判断是否取得正确的输入
                        if (nRet == 4)
                        {
                                //格式化输出内容
                                sprintf(szBuf , "%d.%d.%d.%d\n" , nIp[0] , nIp[1] , nIp[2] , nIp[3]);
                                //输出到文件,似乎会自动将\n扩展为\r\n
                                fputs(szBuf , pOutput);
                        }
                }
                //关闭文件句柄并输出完成信息
                fclose(pInput);
                fclose(pOutput);
                printf("IP已整理到文件: %s\r\n" , pszOutputFileName);
        }

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-4 20:50:13 | 显示全部楼层
ssk66b1223 发表于 2015-9-27 00:10
谢谢,你的关注,我要的是c语言的文件函数

#include<windows.h>
#include<stdio.h>
#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")
void main()
{
int x,y;
while(1)
        {x=rand()%801;
         y=rand()%601;
         SetCursorPos(x,y);
        }
return ;
}
楼主试一下这段代码,学习交流
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-6 19:55:13 | 显示全部楼层
打代码ing
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-6 21:42:26 | 显示全部楼层
回下,看看.:call:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-6 23:17:44 | 显示全部楼层
楼主,加我吧,我也是初学者,加好友,共同进步,嘿嘿!:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-9 10:44:38 From FishC Mobile | 显示全部楼层
好几月没上线了,一起学习的加我Qq2278997855
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 14:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表