Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- int parse_size(char *line)
- {
- char breakset[] = "0123456789";
- int number = atoi(strpbrk(line, breakset));
- return number;
- }
- void sort_file()
- {
- // sortarea ...
- }
- int main()
- {
- FILE *fp;
- int read;
- int len = 0;
- char *line = NULL;
- char **lines = NULL;
- int lines_count = 0;
- int *size_array;
- // calculam cite linii sunt in fisier pentru a aloca memorie
- fp = fopen("file.txt", "r");
- if (fp == NULL)
- return -1;
- while ((read = getline(&line, &len, fp)) != -1) {
- lines_count++;
- }
- fclose(fp);
- printf("%d\n", lines_count);
- // alocam meorie si citim toate liniile intrun char** array si marimele intrun int array
- fp = fopen("file.txt", "r");
- int i = 0;
- lines = malloc(lines_count * sizeof(char));
- size_array = malloc(sizeof(int) * lines_count);
- while ((read = getline(&line, &len, fp)) != -1) {
- lines[i] = malloc(sizeof(char) * (read + 1));
- lines[i] = line;
- size_array[i] = parse_size(line);
- printf("LINE [%d]:\n %s", i, lines[i]);
- printf(" size:%d\n", size_array[i]);
- i++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement