C/Czytanie i pisanie do plików: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Linia 182:
 
==Przykład - pliki graficzne==
Plik graficzny tworzymy :
* bezpośrednio w C ( fprintf / fwrite )
* pośrednio za pomocą [[C/Czytanie_i_pisanie_do_plików#Pliki_a_strumienie|strumieni]] i [[Programowanie_w_systemie_UNIX/Potok_(Unix)|potoku]], wtedy :
** zamiast komend zapisu do pliku ( np. fprintf ) używamy komend wysyłających do standardowego wyjścia ( np. fprint, putchar)<ref>[[:commons:File:Herman-ring-1.png|Przykład programu wykorzystującego potok]]</ref>
** zamiast przykładowej komendy : ./a.out używamy : ./a.out > anti.ppm <ref>[http://mathr.co.uk/blog/2013-12-30_ultimate_anti-buddhabrot.html Ultimate Anti-Buddhabrot by Claude Heiland-Allen]</ref>
 
 
===rastrowy===
 
Linia 221 ⟶ 228:
*korzystać z funkcji: [[C/fsetpos|fsetpos]], [[C/fgetpos|fgetpos]] oraz [[C/fseek|fseek]],
* utworzyć [[C/Tablice|tablicę]] (dla dużych plików [[C/Wskaźniki|dynamiczną]]), zapisać do niej wszystkie dane a następnie zapisać całą tablicę do pliku. Ten sposób jest prostszy i szybszy. Należy zwrócić uwagę, że do obliczania rozmiaru całej tablicy nie możemy użyć funkcji [[C/sizeof|sizeof]].
 
Dostęp ten pozwala na :
* przetwarzanie danych/obrazów cyfrowych ( ang. Image processing)
* przetwarzanie równoległe ( OpenMP, OpenACC, GPU )
 
===wektorowy===