Ⅰ 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语言怎么打开一个文件夹,求完整程序
如果是源文件的话,单击右键,找到并打开“属性”,属性的“常规”里面有打开方式,你单击“打开方式”后面的“更改”,然后再“推荐程序"与"其他程序里"找,如果没有,那么点击下面的“浏览”,这一步是要找到你安装turbo C&C++的目录下你turbo c&C++这个应用程序的图标,这图标一般跟你安装后出现在桌面的图标相似。(如果你是默认安装的,那么你一般可以去c盘,program files文件夹,然后可能会看到名字含有turbo 单词的文件夹,在里面也许你可以直接看到那个应用程序图标,也许不能,不能的话,那就在里面有个bin文件夹的,bin就是二进制的意思,bin文件夹里一般含有这个应用程序的图标。你选中后摁下面的“打开”就行了。
你是初中生吗,怎么还用turbo c呢,是用的谭浩强的教材吧,他的教材其实里面有些源程序错误挺多的。
Ⅲ 如何用c语言如何打开一个文件夹
用文件路径操作来函数找到源代码源所在的文件夹。使用文件操作函数fopen打开源文件即可。
路径操作函数 chdir。
chdir函数是C语言中的一个系统调用函数(同cd)功 能:更改当前工作目录。参 数:Path 必选。Path 可能包含驱动器。如果未指定驱动器,则当前驱动器上的默认目录或文件夹。返回值:成功返回0 ,失败返回-1
文件操作函数fopen。
函数原型:FILE* fopen(const char * path,const char * mode);返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。
Ⅳ C语言文件路径设置
C语言中指定文件路径的三种方法:
方法一:当前工程下的文件
fopen("demo.txt","rt");
方法二:当前工程下的 test文件夹 中文件
fopen(".\test\demo.txt","rt");
方法三:绝对路径,D盘下project文件夹中的文件
fopen("d:\project\demo.txt","rt");
Ⅳ c语言让fopen打开的文件在固定路径
#include<stdio.h>
#include<stdlib.h>
int main()
{
#define PATH = "./a/b/c/"
char readBuff[128] = {0};
char fileName[64] = {0};
char PathAndName[128] = {0};
FILE *fp = NULL;
scanf("%s",fileName);
printf("fileName = %s\n",fileName);
sprintf(PathAndName,PATH"%s",fileName);
fp = fopen(PathAndName,"r");
while(fget(buff,sizeof(buff),fp))
{
printf("buff = %s\n",buff);
}
fclose(fp);
return 1;
}
文件路径为程序所在目录下的a/b/c目录中,这个内你可以容自己更改
Ⅵ c语言如何用fopen打开另一相对路径下的文件夹
设置fopen打开的文件为固定路径
,如果路径及文件名都是固定的,只需要使用字符串指针或者字符数专组将路径设置成字符串常量即可。
const cahr *file_name = "a\b\c\test.txt";或者
const char file_name[] = "a\b\c\test.txt";如果目录是固定的,而写入或者读取的文件是可变的。可以使用字符指针将目录定义为字符串常量或者字符数组。
const char *dir_path = "a\b\c";当操作文件时,可以通过字符串复制函数来进行路径字符串的重级。
char file_path[256] = {0};
strcpy(file_path, dir_path); //复制固定路径
strcpy(file_path, "filename"); //filename是文件名称。也可以,直接使用字符数组保存固定路径,属然后通过字符串复制函数将文件名追加到固定路径的字符数组中。
char file_path[256] = "\a\b\c";
strcpy(file_path, "filename"); //filename是文件名称
Ⅶ Linux下用c语言打开文件路径问题
C语言程序也是启抄动一个进程, 所以袭他也也有环境变量, 默认是继承父进程的环境变量;如果是shell界面直接启动, 那么就是继承shell的环境变量; 如果是其他程序启动这个那么就是继承那个程序的环境变量;
首先没有搞清楚hello.html是可执行程序, 还是不可执行文件;现在我默认把他当作可执行文件
./表示当前目录;即执行当前目录下的hello.html; 如果没有则报错
而直接使用程序(hello.html)默认是先在PATH环境变量中查找; 如果PATH环境变量中没有则报错;
Ⅷ 请问高手,c语言下用什么函数可以读取从键盘输入的任意文件路径然后再打开该文件
可以运行后指定要打开的文件,成功运行
如我D盘下有f1.txt,没有f3.txt
两次运行结果分别是
一:
请输入要打开的文件名(含路径):
d:\f1.txt
成功打开文件d:\f1.txt!
Press any key to continue
二:
请输入要打开的文件名(含路径):
d:\f3.txt
打开文件失败!
Press any key to continue
程序如下:
#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 50
void main()
{
char* file=(char*)malloc(sizeof(char)*MAXSIZE);
printf("请输入要打开的文件名(含路径):\n");
gets(file);
FILE* fp;
if(!(fp=fopen(file,"r")))
{
puts("打开文件失败!\n");
}
else
{
printf("成功打开文件%s!\n",file);
fclose(fp);
}
free(file);
}
Ⅸ 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;
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您回生活愉快答!