Sponsored Content
Top Forums Programming Programming Challenges - A List Post 302120025 by Octal on Saturday 2nd of June 2007 05:56:56 PM
Old 06-02-2007
Quote:
Originally Posted by matrixmadhan
Well, this is what the OP had posted




But trying in all possible ways should be good !
I don't really care.

I have another challenge:

Challenge: Create your own ls, or list the files in a directory.

Difficulty: Medium

Helpful Information: http://www.opengroup.org/onlinepubs/.../dirent.h.html

Here is my code:
Code:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <dirent.h>

void dirlist(DIR *, const char *);

main(int argc, char *argv[]) {
	DIR *dp;
	struct dirent *dp2;

	if (argc == 1) {
		dp = opendir(".");
		if (dp == NULL) {
			perror("opendir");
		}
		dirlist(dp, "./");
	} else {
		while (--argc > 0) {
			dp = opendir(*++argv);
			if (dp == NULL) {
				perror("opendir");
			}
			dirlist(dp, *argv);

			if (argc > 1) {
				printf("\n");
			}
		}
	}
	closedir(dp);
}
void dirlist(DIR *dp, const char *name) {
	struct dirent *dp2;

	printf("%s:\n", name);
	while ((dp2 = readdir(dp)) != NULL) {
		if ((strstr(dp2->d_name, ".") != NULL &&
		     strstr(".", dp2->d_name) != NULL) ||
		    (strstr(dp2->d_name, "..") != NULL) &&
		     strstr("..", dp2->d_name) != NULL) {
			continue;
		}
		printf("%s  ", dp2->d_name);
	}
	printf("\n");
}

Someone else has to come up with another programming challenge...right?
 

3 More Discussions You Might Find Interesting

1. AIX

AIX 6.1 IDSLDAP Installation Challenges

Please bare with me, since I am new to AIX and LDAP. I am attempting to install idsldap server on our AIX 6.1 NIM server. I installed the following packages: root@nim(/)# lslpp -l|grep ldap db2_08_01.ldap 8.1.1.80 COMMITTED DB2 LDAP Support idsldap.clt64bit61.rte 6.1.0.17 COMMITTED... (6 Replies)
Discussion started by: ecollins
6 Replies

2. UNIX for Advanced & Expert Users

Challenges in finding and copying the block

Hi, I have a below challenging task where iam unable to find the block and copy the same into a file. I tried my luck,howver iam unable to reach the first and second step..Can anyone help me with a clue or with the commands so that i can give a try. 1. search the <number>9966993366</number>... (2 Replies)
Discussion started by: cskumar
2 Replies

3. Shell Programming and Scripting

Korn shell script - SQL statement challenges

Hi scripting experts. I have some coding challenges that I'm hoping you can help me out. I have one file#1 that contains the following sql statement that spans over multiple lines: sql Select /*+ use_has(a,b) */ * from customer a, customer_address b where a.id = b.id... (1 Reply)
Discussion started by: pchang
1 Replies
dirent.h(3HEAD) 						      Headers							   dirent.h(3HEAD)

NAME
dirent.h, dirent - format of directory entries SYNOPSIS
#include <dirent.h> DESCRIPTION
The internal format of directories is unspecified. The <dirent.h> header defines the following type: DIR A type representing a directory stream. The header also defines the structure dirent, which includes the following members: ino_t d_ino /* file serial number */ char d_name[] /* name of entry */ The type ino_t is defined as described in <sys/types.h>. See types(3HEAD). The character array d_name is of unspecified size, but the number of bytes preceding the terminating null byte must not exceed {NAME_MAX}. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
closedir(3C), opendir(3C), readdir(3C), rewinddir(3C), seekdir(3C), telldir(3C), types.h(3HEAD), attributes(5), standards(5) SunOS 5.10 10 Sep 2004 dirent.h(3HEAD)
All times are GMT -4. The time now is 03:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy