c如何以文件路径|C语言打开文件的路径问题

⑴ C语言中,怎样访问其他路径中的文件

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

⑵ C语言中怎么用绝对路径

system("cmd /c 绝对路径");

比如你要访问c:dosc123.bat

就是system("cmd /c c:\dos\tc\123.bat");

⑶ c语言中如何得到当前文件所在位置

如果是通过open方式打开的,那么第一个参数就是文件路径信息:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *path, int oflag, /* mode_t mode */…);如果是通过fopen方式打开的,那么第一个参数就是文件路径信息:#include <stdio.h>FILE *fopen(const char *filename, const char *mode);无论通过open还是fopen打开文件,都必须先知道文件路径信息,尽管可能是相对路径。如果知道了filename的内容,我们就可以定位它的绝对路径,也就是你说的完全路径。1. filename本身就是绝对路径,ok。2. filename是相对路径,那么先通过getcwd获取进程的执行路径,然后再获取绝对路径即可。#include <unistd.h>extern char *getcwd(char *buf, size_t size);但是,如果进程在打开文件后又执行了chdir、fchdir之类函数的话,估计就不能够再获取文件路径信息了。#include <unistd.h>int chdir(const char *path);int fchdir(int fildes);

⑷ c语言怎么保存文件到指定的路径

fp=fopen(filename,"wb");里的就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个filename最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。scanf也限制一下长度。scanf("%19s",filename);scanf("%19s",path);参考如下:#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;

⑸ C语言中要读一个文件需要文件路径么

文件不在执行程序的文件夹内,就需要完整的文件路径。在文件夹内,使用文件名即可。

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。

例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章。

(5)c如何以文件路径扩展阅读:

C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。

选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图。

然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。

参考资料来源:网络-C语言

⑹ c语言程序如何设置默认路径

可以为main函数增加两个参数intmain(intargc,char*argv[]){ return0;}argc是命令行参数的个数,argv是一个字符串数组,代表以空格分隔的命令行参数,其中argv[0]是程序自身的路径(包括文件名)。也可以使用API函数GetMoleFileName,用法如下,需要包含头文件windows.h和tchar.hTCHAR szFile[MAX_PATH]={0};DWORD dwLen; //返回路径长度dwLen=GetMoleFileName(NULL,szFile,MAX_PATH);此时,szFile中保存了程序本身的路径,可以将最后的扩展名改为txt即可得到一个与程序同路径同名的文本文件名,将数据写入其中即可。代码如下:szFile[dwLen-3]=0;_tcscat(szFile,_T("txt"));此时,szFile就是一个文件文件路径了,可以直接用。 我想,你所说的默认路径,可以先把一个路径(想要的默认路径)保存到一个字符数组中,输入文件名后,用strcat函数把文件名连接到默认路径的后面就可以了。如果要改变路径,就用strcpy直接把新的路径复制到字符数组中。

⑺ c语言如何获得文件当前路径

C语言里在main函数来的第二个参数里面,自保存着当前程序运行的目录也就是argv[0]main( int argc, char *argv[]){ printf("%s ", argv[0] );}就是文件当前所在位置不过需要注意的一点是这个路径里面保存了当前文件的文件名如果你只是需要路径的话还需要自己操作一下main(int a,char *c[]){ char s[100]; int i; //把路径保存到字符串s里 strcpy(s,c[0]); for(i=strlen(s); i>0 ; i–) if( s[i] == '\\') { s[i]='\0'; break; } //找到最后一个 \ 并删除之后的内容 //最后输出的s,就是当前文件的路径了 puts(s);}

⑻ c语言读取文件的路径怎么设定

//获取指定目录下的所有文件列表 author:wangchangshaui jlu char** getFileNameArray(const char *path, int* fileCount) { int count = 0; char **fileNameList = NULL; struct dirent* ent = NULL; DIR *pDir; char dir[512]; struct stat statbuf; //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 while ((ent = readdir(pDir)) != NULL) { //统计当前文件夹下有多少文件(不包括文件夹) //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { count++; } } //while //关闭目录 closedir(pDir); // myLog("共%d个文件\n", count); //开辟字符指针数组,用于下一步的开辟容纳文件名字符串的空间 if ((fileNameList = (char**) myMalloc(sizeof(char*) * count)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 int i; for (i = 0; (ent = readdir(pDir)) != NULL && i < count;) { if (strlen(ent->d_name) <= 0) { continue; } //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { if ((fileNameList[i] = (char*) myMalloc(strlen(ent->d_name) + 1)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } memset(fileNameList[i], 0, strlen(ent->d_name) + 1); strcpy(fileNameList[i], ent->d_name); myLog("第%d个文件:%s\n", i, ent->d_name); i++; } } //for //关闭目录 closedir(pDir); *fileCount = count; return fileNameList

⑼ c如何获得FILE*的路径

关于通过 C 语言编程获取到某个文件的完整路径、以及文件名称的问题,那是毫无疑问可内以做容到的。但是具体的编程我由于已经好多年没有编写 C 语言程序了。故具体的程序调试过程需要你自己进行完成了。关于这部分的问题,我记得 C 语言库函数大全上面肯定是有的,你可以参考有关 C 语言库函数的教材。但是注意一点就是:如果是在 WINDOWS 系统下面的编程,那么路径名必须使用双斜线,即:\\ 才行。例如:若想表示打开驱动器 D 上的 MY_SUBDIR 子目录下面的 MYFILE.TXT 文件,则在 C 语言源程序中要写为如下代码:#include <stdio.h>void main( ){FILE * fpr ;fpr = fopen("D:\\MY_SUBDIR\\MYFILE.TXT", "r") ; /* 这样写才是正确的语句。*/……fclose(fpr) ;}

⑽ C语言打开文件的路径问题

#include<stdio.h> int main(void) { int a, sum; FILE *ifp, *ofp; sum = 0; if((ifp = fopen("C:\Users\huangwj\Desktop\h.txt", "rt"))==NULL) { printf("not in"); return 0; } if((ofp = fopen("C:\Users\huangwj\Desktop\yes.txt", "wt"))==NULL) { printf(" out!!"); return 0; } while( fscanf(ifp, "%d", &a) != EOF) sum += a; fprintf(ofp, "The sum is %d. \n", sum); fclose(ifp); fclose(ofp); return 0;} 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您回生活愉快答!


赞 (0)