当前位置: 首页>>代码示例>>C++>>正文


C++ read_dir函数代码示例

本文整理汇总了C++中read_dir函数的典型用法代码示例。如果您正苦于以下问题:C++ read_dir函数的具体用法?C++ read_dir怎么用?C++ read_dir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了read_dir函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: hashtable_install

void hashtable_install( obj table, obj hash, obj key, obj value )
{
  obj vec, bucket;
  UINT_32 i;

  inserting_one( table );
  vec = gvec_read( table, HASHTABLE_DIRECTORY );
    
  for (bucket = read_dir(vec,hash);
       !EQ(bucket,FALSE_OBJ);
       bucket = gvec_read( bucket, BUCKET_OVERFLOW ))
    {
      for (i=SLOT(2); i<SLOT(2+BUCKET_CAPACITY); i+=sizeof(obj))
	{
	  if (EQ(read_bucket_hash(bucket,i),FALSE_OBJ))
	    {
	      write_bucket_hash( bucket, i, hash );
	      write_bucket_key( bucket, i, key );
	      write_bucket_value( bucket, i, value );
	      return;
	    }
	}
    }

  /* grow things... */
    
  split_bucket( table, read_dir( vec, hash ), hash, key, value );
}
开发者ID:bitwize,项目名称:rscheme,代码行数:28,代码来源:hashmain.c

示例2: load_images

void * load_images(void * arg) {
	const char * directory = (const char *)arg;
	read_dir(directory, count_images);

	if (total_images_count > 0) {
		images_info = safe_malloc((total_images_count) * sizeof(image_info));
		images = safe_malloc((total_images_count) * sizeof(bmp));
		read_dir(directory, load_image);
	}

	return NULL;
}
开发者ID:ogail,项目名称:tcss422-homework-solutions,代码行数:12,代码来源:analyzer.c

示例3: try_dir_lookup

bool try_dir_lookup(inode* dir, std::string const& name, uint32_t& ino)
{
	if (!dir)
		throw std::invalid_argument("dir_lookup  null arg: dir");

	// If our path resolution code works as expected, the filename
	// of any path will never be 0 bytes in length. So an assert is fine.
	assert(name.size() > 0);

	if (name.size() > MAX_FILENAME_LEN)
		throw fs_error(ERROR_NAMETOOLONG);

	inode_guard lock(dir->lock);

	auto entries = read_dir(dir);
	for (auto& j : entries) {
		if (!compare_dirent_name(j, name))
			continue;

		ino = j.f_ino;
		return true;
	}

	return false;
}
开发者ID:peredin,项目名称:streams,代码行数:25,代码来源:dir.cpp

示例4: MAIN

int MAIN(ls, int argc, char** argv) {

  if(getcwd(path, sizeof(path)) == 0) {
    printf("errors in getcwd\n");
    return 1;
  }

  int fd = open(path, 0);
  if(fd < 0) {
    printf("cannot open file or directory\n");
    return 1;
  }
  
  char buffer[256];
  fnode_t *dir;
  while((dir = read_dir(fd, buffer, sizeof(buffer)))) {
    if(dir->flags & DIRENT_DIR)
      printf("\e[01;34m");
    printf("%s", buffer);
    printf("\e[00m\n");
    free(dir);
  } 
  
  close(fd);

  return 0;
}
开发者ID:mmikulicic,项目名称:mikucos,代码行数:27,代码来源:ls.c

示例5: dir_unlink

void dir_unlink(inode* inode, std::string const& name)
{
	if (!inode)
		throw std::invalid_argument("dir_unlink  null arg: inode");

	// If our path resolution code works as expected, the filename
	// of any path will never be 0 bytes in length. So an assert is fine.
	assert(name.size() > 0);

	if (name.size() > MAX_FILENAME_LEN)
		throw fs_error(ERROR_NAMETOOLONG);

	inode_guard lock(inode->lock);

	auto entries = read_dir(inode);

	for (auto it = entries.begin(); it != entries.end(); ++it) {
		if (!compare_dirent_name(*it, name))
			continue;

		entries.erase(it);
		write_dir(inode, entries);
		return;
	}

	throw fs_error(ERROR_NOENTRY);
}
开发者ID:peredin,项目名称:streams,代码行数:27,代码来源:dir.cpp

示例6: main

int			main(int argc, char** argv)
{
  SDL_Surface*		screen = NULL;

  if (!fatInitDefault())
    {
      fprintf(stderr, "fatInitDefault failure: terminating\n");
      exit(EXIT_FAILURE);
    }
  read_dir();
  srand(time(NULL));
  if (SDL_Init(SDL_INIT_VIDEO) < 0)
    {
      fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError());
      exit(EXIT_FAILURE);
    }
  fontmap_init();
  WPAD_Init();
  SDL_WM_SetCaption("304pacman", NULL);
  atexit(SDL_Quit);
  SDL_ShowCursor(SDL_DISABLE);
  screen = SDL_SetVideoMode(640, 480, 8, SDL_HWSURFACE);
  if (!screen)
    {
      fprintf(stderr, "Unable to set video: %s\n", SDL_GetError());
      exit(EXIT_FAILURE);
    }
  play(screen);
  SDL_Quit();
  return (EXIT_SUCCESS);
}
开发者ID:payet-s,项目名称:304pacman,代码行数:31,代码来源:main.cpp

示例7: opendir

JNIEXPORT jlong JNICALL
Java_com_sun_management_UnixOperatingSystem_getOpenFileDescriptorCount
  (JNIEnv *env, jobject mbean)
{
    DIR *dirp;
    struct dirent dbuf;
    struct dirent* dentp;
    jlong fds = 0;

    dirp = opendir("/proc/self/fd");
    if (dirp == NULL) {
        throw_internal_error(env, "Unable to open directory /proc/self/fd");
        return -1;
    }

    // iterate through directory entries, skipping '.' and '..'
    // each entry represents an open file descriptor.
    while ((dentp = read_dir(dirp, &dbuf)) != NULL) {
        if (isdigit(dentp->d_name[0])) {
            fds++;
        }
    }

    closedir(dirp);
    // subtract by 1 which was the fd open for this implementation
    return (fds - 1);
}
开发者ID:AllenWeb,项目名称:openjdk-1,代码行数:27,代码来源:UnixOperatingSystem_md.c

示例8: dir_link

void dir_link(inode* inode, std::string const& name, uint32_t ino)
{
	assert(inode);
	// If our path resolution code works as expected, the filename
	// of any path will never be 0 bytes in length. So an assert is fine.
	assert(name.size() > 0);

	if (name.size() > MAX_FILENAME_LEN)
		throw fs_error(ERROR_NAMETOOLONG);

	dir_entry ent;
	ent.f_ino = ino;
	if (0 < name.size()) {
		ent.f_namelen = (uint8_t) name.size();
		std::memcpy(ent.f_name, name.c_str(), name.size());
	}

	inode_guard lock(inode->lock);

	auto entries = read_dir(inode);

	for (auto& j : entries) {
		if (!compare_dirent_name(j, name))
			continue;

		throw fs_error(ERROR_EXIST);
	}

	entries.emplace_back(ent);
	write_dir(inode, entries);
}
开发者ID:peredin,项目名称:streams,代码行数:31,代码来源:dir.cpp

示例9: get_lo_la_min_max

/* Auslesen der Minimal- und Maximalwerte der in den Trajektoriendateien
 * enthaltenen Aufpunkte in Laengen- und Breitengrad (lo_min, la_min,
 * lo_max, la_max) 
 */
void 
get_lo_la_min_max(struct state* state) { 

	int i;

	/* Initialisieren */
	state->lo_min = 2; 
	state->la_min = 2;
	state->lo_max = -2;
	state->la_max = -2;
	
	/* Auslesen der Dateinamen der im angegebenen Verzeichnis enthaltenen 
	 * Dateien und Speicherung in einer Dateinamenliste (list) 
	 */
	read_dir(get_string(INPUTDIR), state->list, state->list_max);
	
	/* Durchsuchen der in der Liste enthaltenen Trajektoriendateien nach
	 * den groessten und kleinsten Koordinaten (lo_min, la_min, lo_max,
	 * la_max)
	 */
	for (i = 0; i < state->list_max; i++)
		file_la_lo_min_max(state->list[i], &state->lo_min, 
		    &state->la_min, &state->lo_max, &state->la_max);
	
	/* Umrechnen der Minimal- und Maximalkoordinaten von Rad in Grad */
	state->lo_min = rad2deg(state->lo_min);
	state->la_min = rad2deg(state->la_min);
	state->lo_max = rad2deg(state->lo_max);
	state->la_max = rad2deg(state->la_max);
}
开发者ID:rfinkelnburg,项目名称:Trajectory,代码行数:34,代码来源:frequency.c

示例10: filedialog

CL_FileDialog_Generic::CL_FileDialog_Generic(
	CL_FileDialog *self,
	const std::string &title,
	const std::string &file,
	const std::string &filter)
	: filedialog(self)
{
	behavior = CL_FileDialog::quit_always;
	button = CL_FileDialog::button_none;
	// TODO: Calculate proper size
	int width = 400;
	int height = 315;
	int x = (CL_Display::get_width() - width) / 2;
	int y = (CL_Display::get_height() - height) / 2;
	filedialog->set_position(CL_Rect(x, y, x + width, y + height));
	filedialog->set_title(title);

	CL_Component *client_area = filedialog->get_client_area();

	width = client_area->get_width();

	label_dir = new CL_Label(CL_Point(10, 12), "Directory:", client_area);
	input_dir = new CL_InputBox(CL_Rect(65, 10, width - 120, 30), client_area);
	input_dir->enable(false);

	button_parent = new CL_Button(CL_Rect(width - 115, 9, width - 65, 28), "Parent", client_area);
	button_createdir = new CL_Button(CL_Rect(width - 60, 9, width - 10, 28), "New", client_area);

	treeview_files = new CL_TreeView(CL_Rect(10, 32, width - 10, 197), client_area);
	treeview_files->add_column("Filename", 200);
	treeview_files->add_column("Size", 80);
	treeview_files->add_column("Type", 100);
	treeview_files->show_root_decoration(false);

	label_file = new CL_Label(CL_Point(10, 207), "Filename:", client_area);
	input_file = new CL_InputBox(CL_Rect(65, 205, width - 10, 225), client_area);

	label_filter = new CL_Label(CL_Point(10, 232), "Filter:", client_area);
	input_filter = new CL_InputBox(CL_Rect(65, 230, width - 10, 250), client_area);

	button_ok = new CL_Button(CL_Rect(10, 260, 100, 280), "OK", client_area);
	button_cancel = new CL_Button(CL_Rect(width - 110, 260, width - 10, 280), "Cancel", client_area);

	slots.connect(self->sig_set_options(), this, &CL_FileDialog_Generic::on_set_options);
	slots.connect(treeview_files->sig_selection_changed(), this, &CL_FileDialog_Generic::on_file_activated);
	slots.connect(button_ok->sig_clicked(), this, &CL_FileDialog_Generic::on_button_quit, true);
	slots.connect(button_cancel->sig_clicked(), this, &CL_FileDialog_Generic::on_button_quit, false);
	slots.connect(button_parent->sig_clicked(), this, &CL_FileDialog_Generic::on_button_parent);
	slots.connect(button_createdir->sig_clicked(), this, &CL_FileDialog_Generic::on_button_createdir);
	slots.connect(input_file->sig_return_pressed(), this, &CL_FileDialog_Generic::on_edit_file);
	slots.connect(input_filter->sig_return_pressed(), this, &CL_FileDialog_Generic::on_edit_filter);
	slots.connect(input_dir->sig_return_pressed(), this, &CL_FileDialog_Generic::on_edit_dir);
	
	set_file(file, false);
	set_filter(filter, false);
	show_hidden = false;

	read_dir();
}
开发者ID:BackupTheBerlios,项目名称:flexlay-svn,代码行数:59,代码来源:filedialog_generic.cpp

示例11: listdir

void listdir(char *d, FILE *fp)
{
	char path[512], rpath[512];
#if 0
	long pathsize = 0;
#endif
	struct _info **dir, **sav;
	int n, i;
	char *s;
	static char *igdir[] = {
		"/nfs", "/dev", "/proc", "/opt", "/tmp", "/etc",
		 "nfs",  "dev",  "proc",  "opt",  "tmp",  "etc",
		NULL
	};

	sav = dir = read_dir(d, &n);
	if (!dir && n) Err("Dir read");
	if (!n) {
		free_dir(sav);
		return;
	}

	qsort(dir, n, sizeof(struct _info *), cmpfunc);

	for(i = 0;i < n;++i) {
#if 0
		if (sizeof(char) * (strlen(d)+strlen(dir[i]->name) + 2) > pathsize)
			path = xrealloc(path,pathsize=(sizeof(char) * (strlen(d)+strlen(dir[i]->name) + 1024)));
#endif
		if (!strncmp(d, "/", 1)) s = d + 1;
		else if (!strncmp(d, "./", 2)) s = d + 2;
		else s = d;
		sprintf(path,"%s/%s", s, dir[i]->name);

		sprintf(rpath,"%s/%s", d, dir[i]->name);

		if (dir[i]->isdir) {
			int j;
			int flg = 1;

			for(j = 0;igdir[j] != NULL;++j) {
				if (!strcmp(path, igdir[j])) {
					flg = 0;
					break;
				}
			}
//			if (flg) listdir(rpath, fp);
		}
		else {
			if (dir[i]->lnk == NULL) {
//				printf("delete %s\n", rpath);
				crstrip(rpath);
			}
		}
	}
//	free(path);
	free_dir(sav);

}
开发者ID:Ntools,项目名称:EnigmaEnc,代码行数:59,代码来源:CRstrip.c

示例12: list_files

void list_files(AMDeviceRef device)
{
    service_conn_t houseFd = start_house_arrest_service(device);

    afc_connection afc_conn;
    afc_connection* afc_conn_p = &afc_conn;
    AFCConnectionOpen(houseFd, 0, &afc_conn_p);

    read_dir(houseFd, afc_conn_p, "/");
}
开发者ID:hkivela,项目名称:fruitstrap,代码行数:10,代码来源:fruitstrap.c

示例13: is_dir_empty

bool is_dir_empty(inode* dir)
{
	if (!dir)
		throw std::invalid_argument("is_dir_empty  null arg: dir");

	inode_guard lock(dir->lock);
	auto content = read_dir(dir);

	return content.empty();
}
开发者ID:peredin,项目名称:streams,代码行数:10,代码来源:dir.cpp

示例14: main

int main(int argc, char *argv[])
{
	if (argc!=3) {
		fprintf(stderr,"Usage: %s hostname dir\n",argv[0]);
		exit(0);
	}
	char dir[DIR_SIZE];
	strcpy(dir, argv[2]);
	read_dir(argv[1], dir);
	printf("%s\n", dir);
	exit(0);
}
开发者ID:PredragWang,项目名称:RPC-Examples,代码行数:12,代码来源:rls.c

示例15: run_dbcheck

int run_dbcheck()
{
    int i = 0;

    __counter = 0;
    while (syscheck.dir[i] != NULL) {
        read_dir(syscheck.dir[i], syscheck.opts[i], syscheck.filerestrict[i]);
        i++;
    }

    return (0);
}
开发者ID:wazuh,项目名称:ossec-wazuh,代码行数:12,代码来源:create_db.c


注:本文中的read_dir函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。