c语言自定义文件名

c语言自定义文件名,第1张

1.用C语言自定义文件名,涉及到的相关知识如下:

_finddata_t结构体:

struct _finddata_t {

unsigned  attrib

 time_t  time_create

 time_t  time_access

 time_t  time_write

 _fsize_t  size

 char name [260]

}

rename函数:

功能描述:

改变文件的名称或者位置,如果目标已存在,将被自动覆盖。  

用法:

#include <stdio.h>

int rename(const char *oldpath, const char *newpath)

参数:  

oldpath:旧文件名

newpath:新文件名或者新位置。

   

返回说明:  

成功执行时,返回0。失败返回-1,errno被设为以下的某个值  

EACCES:权能不足

EBUSY:参数oldpath或者newpath代表的是目录,而且一些进程正在使用它们

EFAULT: 内存空间不可访带链厅问

EINVAL:参数无效

EISDIR:newpath是一个现存的目录,而oldpath不是目录

ELOOP :路径解析的过程中存在太多的符号连接

EMLINK:目录超出允许的最大连接数

ENAMETOOLONG:路径名超出可允许的长度

ENOENT:路径名部分内容表示的目录不存在

ENOMEM: 核心内存不足

ENOSPC: 磁盘配额限制或空间不足

ENOTDIR:路径名的部分内容不是目录

EPERM : 包含路径名的文件系统不支持建立目录

EROFS:文件系统只读

ENOTEMPTY:newpath是一个非空的目录,除了. 和 ..以外,还包含其它入口。

EEXIST:同上

EXDEV:oldpath和newpath不处于同一文件系统蠢隐

2.用C语言自定义文件名唤备的代码例程如下:

#include<stdio.h>

#include<io.h>

int main(int argv, char *argc)

{

    long handle

    int i=0, j=0

    struct _finddata_t fileinfo

     char filePT[256]={'\0'}

     char fileType[20]={'a','\0'}

    char filePath[256]={'\0'}

    char newName[256]={'\0'}

    char oldName[256]={'\0'}

    

     printf("Input the rename filePath:\n")

     scanf("%s", filePath)

    fflush(stdin)

    printf("Input the rename fileType:\n")

    scanf("%s", fileType)

    fflush(stdin)

    sprintf(filePT, "%s\\*%s",filePath, fileType)

    

    handle = _findfirst(filePT, &fileinfo)

    if(-1 == handle)

    {

        printf("_findfirst() error\n")

        getchar()

        return(-1)

    }

    i=1000

    do{

        sprintf(oldName, "%s\\%s", filePath, fileinfo.name)//全部路径

        sprintf(newName, "%s\\%d%s", filePath, i++, fileType)

        j=rename(oldName, newName)

        if(j != 0)

        {

             printf("rename() error\n")

             break

        }

    }while( !_findnext(handle, &fileinfo) )

    _findclose(handle)

    printf("Program End\n")

    getchar()

    return(0)

}

工具:华硕电脑

原信旁料:C-Free5.0

1、打开C-Free5.0新建一个空白页面,然后将C语言的基础格式写完,注意格式缩进。

2、首先需要定义一个声明来用来声明文件的 *** 作,这里我们用“FILE”来做声明,FILE是变量类型,实际上是C语言定义的标准数据结构,用于文件吵岁(FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象)。

3、然后利用fp=fopen("c:\\czb_one.txt","wb") 来打开和创建文件(当然还可以写一个if语句,用来判断是原来否存在)。

4、然后在if判断中输入如果创建错误就关闭程序,exit表示退出。

5、如果文件没有错误的话,输入: fputs("Helllo world!",fp)往文件 中输入“Hello world!”,然后用fclose(fp)关闭文件。

6、然后点击调试按钮滑碰橡,调试程序,得到如下结果,在C盘中找到CZB_one.txt文件里面有hello word。此时就成功地创建了txt文件。

C语言中windows环境下好吵,至少有三种方式可以创建文件,文件名都可以使用变量扰袜贺。

常用的函数中,无论是fopen还是CreateFile,其参数都可以使缓派用变量来作为文件名来创建文件和读写文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12276323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存