C语言 如何创建文件到指定文件夹

C语言 如何创建文件到指定文件夹
2024-10-31 06:55:24
推荐回答(5个)
回答(1):

  • C语言创建新文件可用fopen()函数的"w"(写)方式打开文件,即可。如果文件存在,将会清空现有的文件;如果不存在,则会创建该文件。

  • 若要将文件创建到指定的文件夹下,则,在fopen()函数中的文件名,带上路径名就可以了。但,程序如果对该文件夹没有写权限,则fopen()会返回NULL。

参考代码:

#include 
void main()
{
    char filename[100];
    char filepath[100];
    char file[200];
    FILE *fp;
    printf("input filename: ");scanf("%s", filename );
    printf("input filepath: ");scanf("%s", filepath );
    sprintf(file,"%s/%s", filepath,filename );
    fp=fopen(file,"w");
    if ( fp==NULL )
    {
        printf("open file:%s error\n",file );
        return ;
    }
    fputs("this is a test!",fp);
    fclose(fp);
}

回答(2):

具体代码如下:

#include
int a;
char b,c[100];
int main(){
    FILE * fp1 = fopen("input.txt", "r");//打开输入文件
    FILE * fp2 = fopen("output.txt", "w");//打开输出文件
    if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
        puts("不能打开文件!");
        return 0;
    }
    fscanf(fp1,"%d",&a);//从输入文件读取一个整数
    b=fgetc(fp1);//从输入文件读取一个字符
    fgets(c,100,fp1);//从输入文件读取一行字符串
    
    printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
    
    fputs(c,fp2);//向输出文件写入一行字符串
    fputc(b,fp2);//向输出文件写入一个字符
    fprintf(fp2,"%d",a);//向输出文件写入一个整数
    
    fclose(fp1);//关闭输入文件
    fclose(fp2);//关闭输出文件,相当于保存
    return 0;
}

回答(3):

文件句柄指针=fopen(文件名字符串,文件打开方式字符串)
第一个参数是包含文件名的字符串,第二个参数是包含一个或多个文件说明的字符串。
对于说明字符串有“r”“w”“a”“r+”“w+”“a+”“rb”“wb”“ab”等,而能创建文件的有“w”“a”“r+”“w+”“a+”。都是在文件不存在时创建,但具体功能不一样。具体如下:
“r”以只读的方式打开文本文件,如果文件不存在,也不创建它。
“w”以只写的方式打开文本文件,如果文件以存在,则把它清空,若文件不存在,则创建它。
“a”以写的方式打开文本文件,新的数据加到文件尾。如果文件不存在,则创建它。
“r+”以读写的方式打开文本文件,假定先读,所以当前位置指针在文件开头。如果文件不存在,则创建它。
“w+”以写读的方式打开文本文件,假定先写。如果文件以存在,则把它清空;若文件不存在,则创建它。
其他的我就不介绍了,望你能明白。

回答(4):

FILE *fp
fp=fopen("位置","w");

回答(5):

用fopen时指明具体的文件夹就可以了。

fp=fopen("c:\\windows\\a.c","w");

这样,如果c:\windows目录下没有a.c,就会新建。