Guten Abend zusammen
Ich habe ein kleines Problem mit der qsort Funktion
bin ziemlicher Einsteiger beim Programmieren und gerade mit einer qsort-Funktion beschäftigt die Dateiinhalte sortieren soll nun tritt folgendes Problem auf:
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int sort_down(const void *p1, const void *p2)
{
return (strcmp(* (char * const *) p1, * (char * const *) p2) )* -1;
}
int sort_up(const void *p1, const void *p2)
{
return strcmp(* (char * const *) p1, * (char * const *) p2);
}
int
main(int argc, char *argv[])
{
int j;
qsort(&argv[1], argc - 1, sizeof(char *), sort_up); //aufsteigend sortieren
//qsort(&argv[1], argc - 1, sizeof(char *), sort_down); //absteigend
for (j = 1; j < argc; j++)
puts(argv[j]);
exit(EXIT_SUCCESS);
}
Alles anzeigen
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ANZ 5
static int
sort(const void *p1, const void *p2)
{
return strcmp(* (char * const *) p1, * (char * const *) p2);
}
int
main()
{
int i;
char array[ANZ];
array[0] = 7;
array[1] = 5;
array[2] = 2;
array[3] = 3;
array[4] = 1;
qsort(array, ANZ, sizeof(char *), sort);
for (i = 0; i < ANZ; i++)
printf("%c\n", array[i]);
exit(EXIT_SUCCESS);
}
Alles anzeigen
1) Ich kann über Argumentzeile Zahlen und Buchstaben auf und absteigend sortieren (Code 1)
wieso funktioniert das nicht mit einem Array (Code 2)
2) Wie sortier ich überhaupt eine Datei? Speicher ich den Dateiinhalt in ein Array das ich dann sortiere oder geht das auch einfacher?
bin für jeden Vorschlag dankbar
mfg Alex