C语言的文件操作中怎么指定文件的路径
admin 发表于 2010-04-21 | 来源:互联网 | 阅读:

题目:输入文件名称及路径创建该文件,并把从键盘输入的内容保存到该文件中,最后将该文件的路径,文件名称及文件内容输出到屏幕。

C/C++ code
#include<stdio.h> int main() { FILE *fp; char filename[20]; char path[20]; printf("Enter the file name: "); scanf("%s",filename); printf("Enter the path: "); scanf("%s",path); fp=fopen(filename,"wb");//怎么设置路径呢? ....... //怎么获取文件名称和路径呢? }

大家帮看看。

已经有12 个评论
  1. nashliu 说:

    输入:c:\\文件名.扩展名

  2. aw3fae 说:

    楼主问题不理解

  3. water20042 说:

    文件名称和路径名称是分开的。怎么处理呢?

  4. 421056 说:

    拼接起来.用strcat函数.

  5. mikeyao210 说:

    拼接起来.用strcat函数.怎么获取呢?

  6. 好色的皮卡丘 说:

    char cArrFileName[260] = {0};char cArrFilePath[260] = {0};strcpy(cArrFilePath,"c:\\");scanf("%s",cArrFileName);strcat(cArrFilePath,cArrFileName);FILE *pf = fopen(cArrFilePath,"wb");BYTE btArrBuffer[1024] = {0};scanf("%s",btArrBuffer);fwrite(btArrBuffer,…..);printf(cArrFilePath);

  7. nashliu 说:

    fp=fopen(filename,"wb");里的filename就表示了文件的路径及文件名,所以你要把输入的文件名和文件路径拼接起来,计算出这个filename,例如,string filename, path, name;……(获取path, name的值)filename = path + name;fp=fopen(filename,"wb");就OK了  

  8. dovemail 说:

    fp=fopen(filename,"wb");里的filename就表示了文件的路径及文件名,所以你要把输入的文件名和文件路径拼接起来,计算出这个filename,例如,string filename, path, name;……(获取path, name的值)filename = path + name;fp=fopen(filename,"wb");就OK了  

  9. doing7 说:

    现在知道了文件名和路径怎么获取呢?

  10. awaywind 说:

    最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。scanf也限制一下长度。scanf("%19s",filename);scanf("%19s",path);

  11. 405290688 说:

    C/C++ code

    //输入文件名称及路径创建该文件,并把从键盘输入的内容保存到该文件中,
    //最后将该文件的路径,文件名称及文件内容输出到屏幕

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>

    int main()
    {
    FILE *fp;
    char *filename=(char*)malloc(sizeof(char)*10);
    char *path=(char*)malloc(sizeof(char)*10);
    char *str=(char*)malloc(sizeof(char)*20);
    char *content=(char*)malloc(sizeof(char)*50);
    printf("Enter the name of file.\n");
    scanf("%s",filename);
    printf("Enter the path of file.(""C:\\…"")");
    scanf("%s",path);
    strcpy(str,path);
    strcat(str,filename);
    if((fp=fopen(str,"wb"))==NULL)
    {
    printf("Can not open the file.\n");
    exit(0);
    }
    printf("Enter your content.\n");
    scanf("%s",content);
    fputs(content,fp);
    fclose(fp);
    printf("Read content form file.\n");
    if((fp=fopen(str,"rb"))==NULL)
    {
    printf("Can not open the file.\n");
    exit(0);
    }
    printf("filename is: %s\n",filename);
    printf("path is: %s\n",path);
    fgets(content,50,fp);
    printf("The content is %s.\n",content);
    fclose(fp);
    free(filename);
    free(path);
    free(content);
    free(str);
    return 0;
    }

  12. xiaobao520 说:

    C/C++ code

    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
    FILE *fp;
    char ch, filename[20], path[20],buffer[40];
    printf("Enter the file name: ");
    scanf("%s",filename);
    printf("Enter the path: ");
    scanf("%s",path);
    sprintf(buffer, "%s\\%s", path,filename);
    printf("\nto end input ,press Ctrl+Z in newline,then ENTER:\n");
    if((fp=fopen(buffer,"wt+"))==NULL)
    {
    printf("no such path, \nstrike any key exit!");
    getch();
    exit(1);
    }
    while ((ch=getchar())!=-1) ch=fputc(ch,fp);
    fclose(fp);
    printf("==================================\n\n");
    printf("file path \"%s\" \nfile name \"%s\":\nand its content:\n",path,filename);
    fp=fopen(buffer,"rt");
    while ((ch=fgetc(fp))!=-1) putchar(ch);
    fclose(fp);
    return 0;
    }

我要评论

评论功能因故关闭!

请加入我们的QQ群一起参与讨论:群号59400482(500人超级群)


返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明