readdir_r()读取目录内容

readdir()在多线程操作中不安全,Linux提供了readdir_r()实现多线程读取目录内容操作。


#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>

int main(void)
{
DIR* dirp;
struct dirent *dp1=malloc(sizeof(struct dirent));
struct dirent *dp2=malloc(sizeof(struct dirent));
dirp=opendir(".");
while(1)
{
if((readdir_r(dirp,dp1,&dp2))!=0)
{
perror("readdir_r");
exit(EXIT_FAILURE);
}
if(dp2==NULL)
break;
if(dp2->d_name[0]==‘.‘)
continue;
printf("inode=%d\t",dp2->d_ino);
printf("reclen=%d\t",dp2->d_reclen);
printf("name=%s\n",dp2->d_name);
}
close(dirp);
free(dp1);
free(dp2);
return 0;
}

readdir_r()读取目录内容,布布扣,bubuko.com

时间: 2024-07-29 03:44:15

readdir_r()读取目录内容的相关文章

递归读取目录内容

$path='E:/wamp/phplianxi/';$nested_list = readDirSNested($path, 0);echo '<pre>';var_dump($nested_list);/** * 递归读取目录内容 * @param string $path 需要读取的目录内容 * @return void */function readDirSNested($path) { $nested = array();//存储当前目录下所有内容 $handle = opendir

103)PHP,递归读取目录内容

知识点总结: 1 打开某个目录 2 依次读取目录内文件 3 如果某个文件为目录 4 递归对该目录采用打开,读取,若还是目录,继续判断,读取 5 6 7 递归点: 如果子文件为目录,则递归 8 出口: 如果目录中不存在子目录,则不需要继续递归! 代码:

23 遍历删除本地目录的方法,文件末尾追加内容,按行读取文件内容

1.遍历删除本地目录 /** * 递归删除非空目录 * @param file */ public static void deletNotEmptyDir(File file){ File[] files = file.listFiles(); if (files != null) { for (File f : files) { deletNotEmptyDir(f); } } file.delete(); } 2.文件末尾追加内容 /** * 在文件末尾追加字符串 * @param fil

web前端读取文本文件内容

html5+js实现,参照xxyy888的CSDN博客文章<使用HTML+javascrpt读取txt文本文件>失败,将作者文章中的代码重新整理了下依然不行,文章代码存在的问题是括号错误,基本上都是弄成了全角字符,整理后的代码如下, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona

android按行读取文件内容的几个方法

一.简单版 1 import java.io.FileInputStream; 2 void readFileOnLine(){ 3 String strFileName = "Filename.txt"; 4 FileInputStream fis = openFileInput(strFileName); 5 StringBuffer sBuffer = new StringBuffer(); 6 DataInputStream dataIO = new DataInputStre

php读取文件内容的多种方法示例代码

分享下php中读取文件内容的几种方法,各有千秋,与大家共勉. 示例代码1: 用file_get_contents 以get方式获取内容<?php$url='http://www.jbxue.com/';$html=file_get_contents($url);//print_r($http_response_header);ec($html);printhr();printarr($http_response_header);printhr();?> 示例代码2: 用fopen打开url,

iOS的四种方法读取文件内容

int main(int argc, const char * argv[]) {     @autoreleasepool     {         //第一种方法: NSFileManager实例方法读取数据         NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);         NSString* thepath = [paths la

通编码读取文件内容

通编码读取文件内容 # 通编码读取文件内容 def read_lines_from_file(file_path, coding="utf-8"): line_content = [] if os.path.isfile(file_path): try: with open(file_path, encoding=coding) as fp: line_content = fp.readlines() return line_content except Exception as e:

PHP读取目录树的实现方法分析_php技巧 - PHP

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例讲述了PHP读取目录树的实现方法.分享给大家供大家参考,具体如下: 前一阵时间面试XX公司笔试题中竟然有这样一道题: 使用PHP列出目录树! 当时一看就懵逼了!基本的思路还是有的,不过是使用递归算法,但对PHP操作目录文件的方法却不是很了解,所以今天好好补习一下! 解题思路: 1. 列出目录中的文件. 2. 判断是否是目录,如果是目录就继续递归. 3. 将所有文件名,存入多维数组 <?php function