SORTLIST.C
资源名称:C.rar [点击查看]
上传用户:qq5388545
上传日期:2022-07-04
资源大小:29849k
文件大小:1k
源码类别:

界面编程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <dirent.h>
  3. #include <alloc.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. void main(int argc, char *argv[])
  7.  { 
  8.    DIR *directory_pointer;
  9.    struct dirent *entry;
  10.    struct FileList {
  11.      char filename[64];
  12.      struct FileList *next;
  13.    } start, *node, *previous, *new;
  14.    
  15.    
  16.    if ((directory_pointer = opendir(argv[1])) == NULL)
  17.      printf("Error opening %sn", argv[1]);
  18.    else
  19.      {
  20.         start.next = NULL;
  21.         while (entry = readdir(directory_pointer))
  22.           { 
  23.             // Find the correct location
  24.             previous = &start;
  25.             node = start.next;
  26.             while ((node) && (strcmp(entry, node->filename) > 0))
  27.              { 
  28.                node = node->next;
  29.                previous = previous->next;
  30.              }
  31.             new = (struct FileList *) malloc(sizeof(struct FileList));           
  32.             if (new == NULL)
  33.              {
  34.                printf("Insufficient memory to store listn");
  35.                exit(1);
  36.              }
  37.             new->next = node;
  38.             previous->next = new;
  39.             strcpy(new->filename, entry);
  40.           }
  41.         closedir(directory_pointer);
  42.      
  43.      
  44.         node = start.next;
  45.         while (node)
  46.           {
  47.             printf("%sn", node->filename);
  48.             node = node->next;
  49.           }
  50.      }
  51.  }