c怎么读取文件中的相应数据

c怎么读取文件中的相应数据,第1张

首先在D盘里创建一个data的txt文件,然后将data文件放进c语言的数据中即可读取相应数据。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。

C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12075890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存