㈠ 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;} 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您回生活愉快答!
㈡ c语言文件路径的格式
windows下文件路径是用\分隔的,比如C:\Windows\System32\就是一个标准的windows路径。在C语言中,文件路径会被写作字符串形式,但是由于C语言的字符串规则中,\字符是转义字符的引导,所以直接写"C:\Windows\System32\"会出错。而字符'\\'才是表示\。于是在写路径的时候,就必须是"C:\\Windows\\System32\\"即,写成单独的\的,是windows的标准形式,而写成\\的,才是C语言中用到的形式。
㈢ 文件夹路径 C:中含有无效字符
是的,有些字符不能用于文件名,引用的话路径上加引号。
㈣ 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语言中如何得到当前文件所在位置
如果是通过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语言没啥关系的。 目录是文件所在目录,比如D:\文件路径就要包括文件名了,比如D:\file.txt
㈦ 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 打开文件路径是哪
默认使用当前目录,如果当前目录没有就会按照系统环境设置去查找。在命令提示符下输入path回车就能看见,在我的电脑,属性中也能找到。
㈨ 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文件夹路径|C 打开文件路径是哪