Programowanie C

Obcinanie plików Linux w C Lang

Obcinanie plików Linux w C Lang

Jak wynika z nazwy „obcinanie”, oznacza to usuwanie, czyszczenie lub zmniejszanie rozmiaru. Istnieje wiele sposobów na obcięcie pliku podczas pracy w systemie operacyjnym Linux. Możesz użyć metody ftruncate(), aby zmniejszyć rozmiar dokumentu określony przez niezaśmiecony deskryptor dokumentu do określonej wartości. W tym artykule dowiesz się o metodzie funkcji „TRUNC” do obcinania pliku przy użyciu kodu języka „C” podczas korzystania z Ubunutu 20.04 System Linux.

Przykład: Obetnij plik

Większość naszej pracy będzie wykonywana na terminalu wiersza poleceń. Tak więc musimy go najpierw otworzyć za pomocą klawisza skrótu „Ctrl + Alt + T”, gdy jesteśmy na pulpicie Ubuntu 20.04 System Linux. Innym sposobem otwarcia terminala powłoki jest przejście do paska menu Aktywność w lewym górnym rogu Ubuntu 20.04 System Linux. Kliknij na niego, a otrzymasz pasek wyszukiwania. Wpisz nazwę aplikacji, na przykład „terminal” i naciśnij klawisz „Enter” z klawiatury maszyny do pisania. Terminal poleceń zostanie otwarty w ciągu kilku sekund i będzie gotowy do użycia. Teraz musimy najpierw utworzyć nowy dokument tekstowy lub plik za pomocą terminala. Aby utworzyć dowolny typ pliku, systemy operacyjne oparte na Linuksie używają w tym celu polecenia „touch”. Dlatego używamy również polecenia dotykowego, aby utworzyć takie o nazwie „test”.txt” i kliknij przycisk „Enter”.

$ test dotykowy.tekst

Widać, że nic się nie stanie. Jeśli chcesz zobaczyć nowo utworzony plik, musisz otworzyć katalog plików i folderów. Znajdziesz „test.txt” w katalogu domowym twojego systemu operacyjnego Linux, jak pokazano na poniższym zrzucie obrazu.

Teraz plik musi zawierać jakieś dane, które będą używane do dalszego użytku. Otwórz plik, dotykając go dwukrotnie. Plik zostanie otwarty i będziesz musiał wpisać w nim trochę treści tekstowej. Po zakończeniu kliknij przycisk „Zapisz” lub po prostu użyj klawisza skrótu „Ctrl + S”, aby zapisać plik. Zamknij plik, naciskając znak krzyża.

Chodźmy jeszcze raz do terminalu. Jeśli ktoś chce sprawdzić, czy plik „test”.txt” odzwierciedla zmianę, oni też mogą to zrobić. Po prostu wypróbuj instrukcję „cat” w terminalu konsoli z nazwą pliku „test.txt” i naciśnij klawisz „Enter” na klawiaturze. Poniższe dane wyjściowe odzwierciedlają zaktualizowane zmiany w pliku.

$ test kota.tekst

Tak jak zrobiliśmy z tworzeniem i aktualizacją plików tekstowych, czas napisać kod w języku C, aby obciąć ten plik. Ale aby skompilować kod języka C, musimy mieć zainstalowany i skonfigurowany kompilator języka C w naszym systemie Linux. Zainstalowaliśmy więc kompilator „gcc” na naszym Ubuntu 20.04 System Linux przy użyciu poniższego zapytania. Do zainstalowania wymagane jest aktualne hasło do konta. Wpisz hasło do konta i naciśnij przycisk „Enter”.

$ sudo apt zainstaluj gcc

Po zainstalowaniu kompilatora „gcc” możemy teraz utworzyć dowolny plik „C”. Dlatego tworzymy plik „C” o nazwie „test “.c” za pomocą polecenia „nano”, aby otworzyć go w edytorze GNU. Naciśnij klawisz „Enter”, aby kontynuować.

$test nano.do

Teraz został otwarty plik typu nano edytora „GNU”. Możemy w nim napisać kod „C”. Napisz w nim poniższy kod. Kod zawiera kilka plików nagłówkowych niezbędnych do użycia przy obcinaniu pliku „test.txt” specjalnie „unistd.h” i „sys/plik.h” nagłówek. Następnie zainicjowaliśmy funkcję „main”, która zwraca typ „integer” jako „int”. Następnie zadeklarowaliśmy dwie zmienne typu całkowitego, „n” i „fd”. Następnie użyliśmy tablicy typów znaków o nazwie „buf” o rozmiarze „20”. W następnym wierszu użyliśmy otwartego wywołania systemowego, aby otworzyć plik „test.txt”, który stworzyliśmy powyżej. Do tego wywołania funkcji dołączyliśmy również dwa parametry flagi. Do odczytu danych z pliku „test” użyto flagi O_RDONLY.txt”, a flaga O_TRUNC została użyta do usunięcia lub wyczyszczenia zawartości pliku do rozmiarów zerowych. Następnie użyliśmy wywołań systemowych read i write do odczytania i zapisania zawartości tablicy bufora „buf” i wyświetlenia jej na ekranie za pomocą wywołania systemowego write. Zapisz ten kod C za pomocą skrótu „Ctrl + S” i zamknij edytor nano za pomocą kontrolki „Ctrl + X”.

Teraz nadszedł czas, aby użyć kompilatora gcc do skompilowania kodu „C”, który właśnie napisaliśmy w edytorze nano. Wpisz więc poniższe zapytanie „gcc” w terminalu konsoli wraz z nazwą pliku jako „test.c” i naciśnij klawisz „Enter” na klawiaturze pulpitu.

$ test gcc.do

Teraz uruchom kod za pomocą „a.out”, jak pokazano poniżej. Dane wyjściowe pokazują w nim pewną wartość śmieci.

$ ./za.out[cc]

Sprawdźmy teraz test.plik txt, jeśli zawiera zmiany spowodowane kodem C. Wpisz poniższe polecenie „cat”, aby zobaczyć zawartość pliku i naciśnij „Enter”. Dane wyjściowe zapytania nie pokazują niczego; oznacza to, że plik został skutecznie i pomyślnie obcięty za pomocą kodu C C.
[cc lang="bash" width="100%" height="100%" escaped="true" theme="tablica"]$ test kota.tekst

Możemy również sprawdzić plik „test.txt” w sposób ręczny. Otwórz katalog domowy swojego systemu Linux i kliknij dwukrotnie plik „test.txt”, aby go otworzyć. Widać, że w pliku nie ma już żadnej zawartości. Oznacza to, że nasz kod w języku C został doskonale opracowany dla obcinania.

Wniosek:

W końcu zajęliśmy się tematem obcinania pliku za pomocą kodu języka C w Ubuntu 20.04 System Linux. Mamy nadzieję, że ten artykuł bardzo Ci pomógł w zrozumieniu pojęcia obcinania. Wszystkie zapytania działają poprawnie w dowolnej dystrybucji systemu Linux.

Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...