c语言读取文件的路径怎么设定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言读取文件的路径怎么设定相关的知识,希望对你有一定的参考价值。
有如下程序,运行后输入路径即可读取文本文件,现在我想让他实现读取和程序在同一目录下的文件student.dat,请问怎么改?#include <stdio.h>
#include <stdlib.h>#define LINE 1024char *ReadData(FILE *fp, char *buf)
return fgets(buf, LINE, fp);//读取一行到buf
void someprocess(char *buf)
printf("%s", buf);
void main()
FILE *fp;
char *buf, filename[20], *p; printf("input file name:");
gets(filename);
if ((fp=fopen(filename, "r"))==NULL)
printf("open file error!!\n");
return;
buf=(char*)malloc(LINE*sizeof(char)); while(1)
p=ReadData(fp, buf);//每次调用文件指针fp会自动后移一行
if(!p)//文件读取结束则跳出循环
break;
someprocess(buf);
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 参考技术A "student.dat",或者直接设定它的路径,比如在C盘WINDOWS下就是:"C:\\WINDOWS\\student.dat"注意要多加\,也就是说是\\
以上是关于c语言读取文件的路径怎么设定的主要内容,如果未能解决你的问题,请参考以下文章