Hej
Mam taki problem. Jestem w uboocie. I tam jest zainstalowany filesystem na flashu, ale nie ma na ramie. Umiem pobrać plik z flasha i wrzucić kontent tego pliku do RAMu fizycznie pod jakiś adres X.
I jak to zrobię to jak ja mogę odczytać taki plik za pomocą API w C? Bo jak masz funkcję fopen to musisz podać ścieżkę a tu w uboocie nie ma filesystemu to nie jestem w stanie podać ścieżki. To tego zadania nie da się zrobić funkcjami fopen, fread, fseek itp jeżeli nie jestem w stanie podać ścieżki, prawda? Muszę kombinować tak na pałę odczytując komórki pamięci od adresu X. Tylko czego się spodziewać jak plik zawiera np. linie:
12\n
Ala ma kota
Interesuje mnie tylko pierwsza linia, więc jak to odczytać.
1.) Zadeklarować jakąś pamięć na stercie
2.) Wczytywać bajt po bajcie aż napotkasz znak \n. Jak napotkasz ten znak to zamień go na '\0'
3.) Oczywiście w punktach 2 kontroluj czy poza zarezerwowany obszar pamięci nie wyszedłeś, w razie czego zaalokuj sobie więcej
4.) Taki bufor już mozna wyprintowac na konsolę printf-em i %s.
Czy mam rację że tu takie jest najoptymalniejsze rozwiązanie przy braku filesystemu?