Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int porownanie_chary(const void *a, const void *b) {
- const char **ia = (const char **)a;
- const char **ib = (const char **)b;
- return strcmp(*ia, *ib);
- }
- void wypisz_chary(char *tablica, size_t dlugosc1) {
- size_t i;
- for(i = 0; i < dlugosc1; i++) {
- printf("%c | ", tablica[i]);
- }
- putchar('\n');
- }
- void sortuj_chary(FILE *plik, int l_wierszy) {
- char *chary = malloc(l_wierszy);
- int index = 0;
- char c;
- while((c = fgetc(plik)) != EOF){
- char word;
- if(c != ' ' || c != '\n'){
- word += c;
- } else {
- chary[index] = word;
- index++;
- }
- }
- size_t char_dlugosc = sizeof(chary) / sizeof(char *);
- printf("%zu\n", sizeof(chary) / sizeof(char *));
- for(int i = 0; i < l_wierszy; i++) {
- printf("%c | ", chary[i]);
- }
- //puts("*** Char sortowanie...");
- //wypisz_chary(chary, char_dlugosc);
- //qsort(chary, char_dlugosc, sizeof(char *), porownanie_chary);
- //wypisz_chary(chary, char_dlugosc);
- free (chary);
- }
- int main(int argc, char *argv[]){
- char * filename = argv[1];
- FILE * plik = fopen(filename, "r");
- int wiersz = 0;
- char znak;
- int last = 1;
- if((plik = fopen(*++argv, "r")) == NULL){
- printf("Nie moge otworzyc pliku %s\n", *argv);
- return 1;
- }
- while((znak = getc(plik)) != EOF){
- if(znak == '\n'){
- last = 1;
- } else if (znak != '\n' && last == 1) {
- wiersz++;
- last = 0;
- }
- }
- printf("Plik zawiera %d wiersze\n", wiersz);
- sortuj_chary(plik, wiersz);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment