如何用C语言创建和删除文件

如题所述

一、创建文件:

在C语言中创建文件,使用fopen函数,同时指定为只写即可。 

参考代码如下:

/*
    å‡½æ•°åŠŸèƒ½ï¼š åˆ›å»ºæ–‡ä»¶åä¸ºs的文件。
    è¿”回值: 
        -1 å‚数错误
        0 åˆ›å»ºæˆåŠŸ
        1 æ–‡ä»¶å·²å­˜åœ¨
        2 åˆ›å»ºå¤±è´¥
*/
int create_file(char *s)
{
    FILE *fp;
    if(s==NULL||s[0]=='\0') return -1;//参数为空,即错误参数。
    fp= fopen(s, "r");//以只读方式打开
    if(fp)//打开成功,表示文件已经存在。
    {
        fclose(fp);//关闭文件
        return 1;//返回文件已存在。 
    }
    fp= fopen(s, "w");//以只写方式创建文件。
    if(fp == NULL) 
        return 2;//创建失败。
    fclose(fp);//关闭文件。
    return 0;//创建成功。
}

二、删除文件:

在C语言中,有专门的删除文件函数remove。

1、头文件:stdio.h

2、声明:int remove(const char* filename);

3、功能:删除文件名为filename的文件。 

4、返回值:删除成功,返回0.否则返回-1.

5、示例代码:

#include <stdio.h>
int main()
{
    char s[100];
    int ret;
    scanf("%s",s);//输入文件名。
    ret = remove(s);//删除文件
    if(ret==0)//根据结果给出相应提示
        printf("删除文件成功\n");
    else
        printf("删除文件失败\n");
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-14

FILE *fopen(char *filename,char *type) 打开一个文件filename,打开方式为type,
并返回这个文件指针,type可为以下字符串加上后缀


┌──┬────┬───────┬────────┐


│type│读写性  │文本/2进制文件│建新/打开旧文件 │


├──┼────┼───────┼────────┤


│r   │读      │文本          │打开旧的文件    │


│w   │写      │文本          │建新文件        │


│a   │添加    │文本          │有就打开无则建新│


│r+  │读/写   │不限制        │打开            │


│w+  │读/写   │不限制        │建新文件        │


│a+  │读/添加 │不限制        │有就打开无则建新│


└──┴────┴───────┴────────┘

fopen 可以实现 文件的建立, 如上述

文件删除:

函数名: remove 
功  能: 删除一个文件 
用  法: int remove(char *filename); 
程序例: 

#include <stdio.h> 

int main(void) 

   char file[80]; 

   /* prompt for file name to delete */ 
   printf("File to delete: "); 
   gets(file); 

   /* delete the file */ 
   if (remove(file) == 0) 
      printf("Removed %s.\n",file); 
   else 
      perror("remove"); 

   return 0; 
}

创建一个文件

FILE* CreateMyFile( char fileName[] )
{
FILE* fp;
fp = fopen( fileName, "w" );
if( fp != NULL ) 
{
printf( "%s has been created!\n", fileName );
}
else
{
printf( "Cannot create %s\n", fileName );
}
return fp;
}
//删除一个文件
void DeleteMyFile( char fileName[] )
{
if ( _unlink( fileName ) == -1 )
{
printf( "Could not delete %s\n", fileName );
}
else
{
printf( "Deleted %s\n", fileName );
}
}

相似回答