Poprawiłem wymienione przez was błędy natomiast mam problem z użyciem funkcji strcat. Funkcjonalność łączenia podanej ścieżki z dopiskiem "*.txt" przeniosłem do funkcji main.
Generalizująć to schemat programu przedstawia się następująco (schemat tej części to punkty 1-3):
1) użytkownik podaje sciezke,w ktorej ma pliki z rozszerzeniem txt
2) program listuje mu nazwy plików z tym rozszerzeniem w podanej ścieżce
3) następnie program prosi o wpisanie nazwy pliku, na którym będziemy operowac
4) po podaniu nazwy pliku program otwiera plik ładuje jego zawartość do tablicy i go zamyka
5) ostatnia rzecz to sortowanie tej tablicy i zwrócenie wynikowej
Nasuwa się więc pytanie w jakiej formie podać funkcji search folder już gotową ścieżkę, w której będzie przeszukiwał wiedząc, że końcowo wykorzystamy tę ścieżkę do otwarcia pliku?
Niżej załączam aktualny kod:
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <string.h>
void search_folder(const char* path){
struct _finddata_t file_info;
long handle=_findfirst(path,&file_info);
if(handle==-1){
printf("Podany katalog nie zawiera zadnych plikow z rozszerzeniem txt \n");
_findclose(handle);
}else{
printf("%s\n",file_info.name);
int find_next=0;
while(find_next!=-1){
find_next=_findnext(handle,&file_info);
printf("%s\n",file_info.name);
}
_findclose(handle);
}
};
int main()
{
const char file_path[_MAX_PATH],file_path_complete[_MAX_PATH+5];
printf("/* Witaj w programie sortujacym */\n");
printf("Podaj pelna sciezke do folderu z plikami, ktore chcesz sortowac i kliknij ENTER: \n");
fgets(file_path,sizeof file_path,stdin);
int i=0;
while(file_path[i]!=EOF){
i++;
}
printf("%s\n",file_path);
printf("%d\n",i);
strcat(file_path[i],"*.txt");
printf("%s\n",file_path);
return 0;
}