A. 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;} 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您回生活愉快答!
B. 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. c语言文件路径的格式
windows下文件路径是用\分隔的,比如C:\Windows\System32\就是一个标准的windows路径。在C语言中,文件路径会被写作字符串形式,但是由于C语言的字符串规则中,\字符是转义字符的引导,所以直接写"C:\Windows\System32\"会出错。而字符'\\'才是表示\。于是在写路径的时候,就必须是"C:\\Windows\\System32\\"即,写成单独的\的,是windows的标准形式,而写成\\的,才是C语言中用到的形式。
D. C语言中路径怎么改
如果你在压缩包内直接双击TC2.0的执行文件是不行的,因为缺省情况下压缩包是被解压在临时文件夹内,而TC2.0是不支持长文件名的。你最好解压在如C:\TC20下,或D:\TC20下,然后再进行下面之一的设置。(推荐方法3,最简单)方法有3:1、在系统中修改环境变量Path.具体方法:鼠标右键单击我的电脑/属性/高级/环境变量/系统变量 , 双击Path;然后添加你的TC头文件所在的目录,若tc2.0安装在c:\tc20下,则将下面一段添加在path变量最后:;c:\tc20\include;(注意:前面有一个分号,一定要添加)另外,可能还需要添加一个Lib变量,内容为:c:\tc20\lib2、使用#include "c:\tc20\include\stdio.h" //假设tc2.0安装在c:\tc20下。3、打开TC2.0,选Option菜单/Directories,将Include directories 修改为C:\TC20\include, 将Library directories修改为c:\tc20\lib
E. C语言 字符串 文件路径
char s[100];FILE *fp;strcat(strcpy(s,q),"\\yourfilename.txt");fp=fopen(s,"w");……这样就在原路径字符串q(已知路径字符串指针)上下创建了一个名为yourfilename.txt的文件。
F. c语言中 文件路径\和\\有什么区别吗
Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。知道这个背景后,可以总结一下结论:(1)浏览器地址栏网址使用 斜杆/ ;(2)windows文件浏览器上使用 反斜杠\ ;(3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;(4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ;斜杆/ 和 反斜杠\ 的区别基本上就是这些了,下面再讨论一下相对路径和绝对路径。./SRC/ 这样写表示,当前目录中的SRC文件夹;../SRC/ 这样写表示,当前目录的上一层目录中SRC文件夹;/SRC/ 这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)
G. C语言创建文件路径与名称
#include<stdio.h>#include<io.h>voidmain(){inth;charfilename[20];/*定义字符数组存储文件名*/LOOP:printf("pleaseinputfilename:");scanf("%s",&filename);/*输入文件名及路径*/if(h=creat(filename,0)==-1){printf("Error!Cannotvreat!");/*错误提示*/gotoLOOP;/*跳到LOOP处*/}else{printf("thisfilehascreated!");/*成功提示*/close(h);}}
H. c语言可执行文件的路径
先创建一个工程,新建》工程;然后添加源文件,新建》源文件内,新建的源文件会自动添加到你刚才新建容的工程中;一般情况下建立源文件是应该选择 .c 的文件格式。对VC++而言,工程目录一般放在 X:\Program Files\Microsoft Visual Studio\MyProjects下,而编译链接后的可执行程序就放在工程目录的DEBUG下。解决找不到路径的办法是:你先手工找到工程目录的路径,然后在系统环境变量的path下增加该路径。我的电脑》属性》高级》环境变量,选中path,点“编辑”,在那一行末尾加个半角分号,然后填上工程目录的路径。
I. 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
J. 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语言文件路径|C语言打开文件的路径问题