Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- zhela@FlawlessVictory ~ $ mkdir polina
- zhela@FlawlessVictory ~ $ cd polina/
- zhela@FlawlessVictory ~/polina $ mkdir a
- zhela@FlawlessVictory ~/polina $ mkdir b
- zhela@FlawlessVictory ~/polina $ mkdir c
- zhela@FlawlessVictory ~/polina $ cd b
- zhela@FlawlessVictory ~/polina/b $ mkdir bb
- zhela@FlawlessVictory ~/polina/b $ mkdir ba
- zhela@FlawlessVictory ~/polina/b $ cd ..
- zhela@FlawlessVictory ~/polina $ cd a
- zhela@FlawlessVictory ~/polina/a $ mkdir aa
- zhela@FlawlessVictory ~/polina/a $ mkdir ab
- zhela@FlawlessVictory ~/polina/a $ cd aa
- zhela@FlawlessVictory ~/polina/a/aa $ touch 1.txt
- zhela@FlawlessVictory ~/polina/a/aa $ vim 1.txt
- zhela@FlawlessVictory ~/polina/a/aa $ cd ..
- zhela@FlawlessVictory ~/polina/a $ cd a
- aa/ ab/
- zhela@FlawlessVictory ~/polina/a $ cd ab/
- zhela@FlawlessVictory ~/polina/a/ab $ vim 2.txt
- zhela@FlawlessVictory ~/polina/a/ab $ cd ..
- zhela@FlawlessVictory ~/polina/a $ ls
- aa ab
- zhela@FlawlessVictory ~/polina/a $ vim 44.txt
- zhela@FlawlessVictory ~/polina/a $ touch 123.a
- zhela@FlawlessVictory ~/polina/a $ ls
- 123.a 44.txt aa ab
- zhela@FlawlessVictory ~/polina/a $ touch 12.b
- zhela@FlawlessVictory ~/polina/a $ cd ..
- zhela@FlawlessVictory ~/polina $ ls
- a b c
- zhela@FlawlessVictory ~/polina $ cd b
- zhela@FlawlessVictory ~/polina/b $ ls
- ba bb
- zhela@FlawlessVictory ~/polina/b $ touch 7.a
- zhela@FlawlessVictory ~/polina/b $ cd ba
- zhela@FlawlessVictory ~/polina/b/ba $ vim 324.txt
- zhela@FlawlessVictory ~/polina/b/ba $ cd ..
- zhela@FlawlessVictory ~/polina/b $ cd bb
- zhela@FlawlessVictory ~/polina/b/bb $ ls
- zhela@FlawlessVictory ~/polina/b/bb $ vim 314.txt
- zhela@FlawlessVictory ~/polina/b/bb $ cd ..
- zhela@FlawlessVictory ~/polina/b $ ls
- 7.a ba bb
- zhela@FlawlessVictory ~/polina/b $ vim 23.txt
- zhela@FlawlessVictory ~/polina/b $ ls
- 23.txt 7.a ba bb
- zhela@FlawlessVictory ~/polina/b $ cd ..
- zhela@FlawlessVictory ~/polina $ ls
- a b c
- zhela@FlawlessVictory ~/polina $ cd c
- zhela@FlawlessVictory ~/polina/c $ ls
- zhela@FlawlessVictory ~/polina/c $ touch 6t.ar
- zhela@FlawlessVictory ~/polina/c $ vim 666.txt
- zhela@FlawlessVictory ~/polina/c $ cd ..
- zhela@FlawlessVictory ~/polina $ ls
- a b c
- zhela@FlawlessVictory ~/polina $ touch 6.tas
- zhela@FlawlessVictory ~/polina $ vim 1.txt
- zhela@FlawlessVictory ~/polina $ ls
- 1.txt 6.tas a b c
- zhela@FlawlessVictory ~/polina $ vim solution.c
- zhela@FlawlessVictory ~/polina $
- zhela@FlawlessVictory ~/polina $
- zhela@FlawlessVictory ~/polina $ cat solution.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <dirent.h>
- char* txtOpen(char* txtName){
- FILE* txt = fopen(txtName, "r");
- if (txt == NULL){
- printf("ERROR\n");
- return NULL;
- }
- fseek(txt,0,SEEK_END);
- int txtSize = ftell(txt);
- fseek(txt,0,SEEK_SET);
- if(txtSize == 0){
- fclose(txt);
- return NULL;
- }
- char* txtStr = (char*)malloc(sizeof(char)*10000);
- fgets(txtStr, txtSize*sizeof(char),txt);
- fclose(txt);
- return txtStr;
- }
- void list_dir(const char* dirName, char** strsTxt, int* len){
- char current_path[10000];
- strcpy(current_path, dirName);
- DIR *current_dir = opendir(current_path);
- if (current_dir == NULL) return;
- struct dirent* current_dir_file =readdir(current_dir);
- while(current_dir_file){
- int path_len = strlen(current_path);
- strcat(current_path, "/");
- strcat(current_path, current_dir_file->d_name);
- if(current_dir_file->d_type == DT_REG && strstr(current_dir_file->d_name, ".txt") != NULL){
- if((strsTxt[*len] = (char*)txtOpen(current_path)) != NULL)
- (*len)++;
- }
- if (current_dir_file->d_type == DT_DIR && strcmp(".", current_dir_file->d_name) != 0 && strcmp("..",current_dir_file->d_name) != 0) list_dir(current_path,strsTxt,len);
- current_path[path_len] = '\0';
- current_dir_file = readdir(current_dir);
- }
- closedir(current_dir);
- }
- int compare(const void* a, const void* b){
- return atoi(*(char**)a) - atoi(*(char**)b);
- }
- int main(){
- char** strs = (char**)malloc(sizeof(char*)*1000);
- int len = 0;
- int i=0;
- char str[1000];
- FILE* fo;
- fo=fopen("fo","w");
- list_dir(".",strs,&len);
- qsort(strs, len, sizeof(char*), compare);
- for (i=0;i<len;i++) fprintf(fo,"%s\n", strs[i]);
- fclose(fo); //закрываем
- fo=fopen("fo","r");
- while (fgets(str, 1000, fo))
- printf("%s", str);
- fclose(fo);
- for (i=0;i<len;i++) free(strs[i]);
- free(strs);
- return 0;
- }
- zhela@FlawlessVictory ~/polina $ gcc -c solution.c
- zhela@FlawlessVictory ~/polina $ ls
- 1.txt 6.tas a b c solution.c solution.o
- zhela@FlawlessVictory ~/polina $ gcc -o solution.o 123
- gcc: error: 123: No such file or directory
- gcc: fatal error: no input files
- compilation terminated.
- zhela@FlawlessVictory ~/polina $ gcc -o solution.o
- gcc: fatal error: no input files
- compilation terminated.
- zhela@FlawlessVictory ~/polina $ gcc -o 123 solution.o
- zhela@FlawlessVictory ~/polina $ ls
- 123 1.txt 6.tas a b c solution.c solution.o
- zhela@FlawlessVictory ~/polina $ ./123
- 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol 66 ololol olol
- 123 twer qwer qwer 1
- 125 asdp
- 127
- 127 sdsd
- 129 totot
- 555 asd
- 1230 slol
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement