Memmove w C i C ++

Memmove w C i C ++

Dzisiaj nauczymy się jednej z ważnych funkcji języka C i C ++, którym jest funkcja memmove (). Ale wcześniej rzućmy okiem na podstawy języków C i C ++. Omówimy również, jakie są funkcje w obu językach C/C ++.

Język programowania C jest łatwy i dość skuteczny do wszystkich celów. Możliwe jest implementacja oprogramowania, takiego jak system operacyjny Windows, bazy danych, tłumacze i inne narzędzia. C jest świetnym językiem dla początkujących, z którymi nauka kodowania. Właśnie dlatego programowanie C jest znane jako język ojczysty, ponieważ służy jako podstawa wszystkich innych języków komputerowych. Podstawa języka programowania C ++ opiera się na pomysłach programowania obiektowego (OOP). Użytkownik może łatwo opracować i zrozumieć zasady programu, ponieważ C ++ ma jasną strukturę. Język programowania C \ C ++ jest wyjątkowo wszechstronny w wykonywaniu wielu funkcji i przełączaniu zmiennej z jednego typu na inny. Funkcja memmove () jest jedną z funkcji c/c++.

Funkcja memmove () przenosi bajty „num” jednocześnie z zawartości bloku pamięci, który jest wskazany przez źródło w kierunku lokalizacji wskazanej przez miejsce docelowe. Funkcja memmove () jest korzystna tylko wtedy, gdy obiekty źródłowe i docelowe nakładają się na nieokreślone zachowanie przed występowaniem. Aby dowiedzieć się więcej o funkcji memmove (), wykopajmy głęboko i zobaczmy, jak zaimplementować składnię i przykłady w funkcji memmove ().

Składnia:

Oto ten sam styl pisania i implementacja funkcji memmove () dla języków C i C ++. Najpierw piszemy słowo kluczowe „void”, co oznacza, że ​​jeśli funkcja nie zwraca żadnej wartości, piszemy nazwę funkcji, którą chcemy zaimplementować, która jest funkcją memmove (). W nawiasach funkcyjnych piszemy miejsce docelowe, abyśmy mogli umieścić bajty „num” za pomocą słowa kluczowego „void”. Następnie piszemy lokalizację źródła, z której otrzymujemy bajty „num”.

Parametry:

Dest: Adres do lokalizacji pamięci, w której kopiowane są dane.

SRC: Adres do lokalizacji pamięci, z której kopiowane są dane.

liczyć: Ilość danych do kopiowania od źródła do miejsca docelowego.

Wartość zwracana:

W zamian otrzymujemy adres do docelowego obszaru pamięci. Dest jest zwracany przez funkcję memmove ().

Przykład 1: Implementacja funkcji memmove () w c

Zacznijmy wdrażać nasz pierwszy i prosty przykład języka C. Aby rozpocząć pisanie, najpierw potrzebujemy kompilatora C, abyśmy mogli pisać i wykonać program. W tym celu otwórz kompilator C i zacznij wdrażać program.

#włączać
#włączać
int main ()

char cH1 [] = „l”, „i”, 'n', 'u', 'x';
int długość = sizeof (ch1)/sizeof (ch1 [0]);
printf („Przed zastosowaniem memmove () funkcji:”);
dla (int i = 0; i< length; i++)

printf („%c”, ch1 [i]);

char *ch2 = i ch1 [2];
memmove (CH2, CH1, sizeof (char)*2);
printf ("\ n \ nafter stosowanie memmove () funkcja:");
dla (int i = 0; i<5; i++)

printf („%c”, ch1 [i]);

powrót 0;


Zawsze zaczynamy od włączenia podstawowych modułów programu po uruchomieniu kompilatora. Te moduły to pakiety moduły języka C. Musimy po prostu wpisać jedną wiersz kodu, aby uwzględnić te moduły, w przeciwieństwie do dziesiątek linii kodu w celu skonstruowania modułu. Wskaźnik „#” informuje tłumacz do załadowania modułu najpierw przed użyciem słowa kluczowego „dołącz”, aby dodać moduł do programu. „Stdio.Moduł H ”oznacza, że ​​kompilator akceptuje dane od użytkownika i pokazuje je użytkownikowi. Drugi moduł programu to „#Include”, dzięki czemu możemy użyć funkcji związanych z ciągiem w istniejącym programie.

Następnie uruchamiamy funkcję main (), abyśmy mogli napisać rzeczywistą linię kodu, którą chcemy wdrożyć w programie. W wierszu 6 deklarujemy nazwę tablicy postaci „CH1” typu typu. Następnie przypisujemy to wartość znaku. Następnie obliczamy długość „CH1” i drukujemy tablicę wejściową „CH1” za pomocą „do pętli”.

Następnie deklarujemy wskaźnik do tablicy „CH2” znaku typu i przypisujemy adres tablicy „CH1” do tablicy „CH2”. Następnie drukujemy go za pomocą instrukcji printf (). Zobaczmy wyjście z poprzedniej ilustracji:

Przykład 2: Implementacja funkcji memmove () w c++

Oto podstawowy przykład pokazujący, jak funkcja Memmove () działa w języku C ++. Aby rozpocząć pisanie, najpierw potrzebujemy IDE C ++, abyśmy mogli pisać i wykonać program. W tym celu otwórz kompilator C ++ i zacznij wdrażać program.

Po otwarciu kompilatora zawsze zaczynamy od włączenia plików nagłówkowych, które są niezbędne dla języka programowania C ++ do uruchomienia programów. Aby skonstruować program i użyć metody Memmove (), najpierw dołączamy dwa fundamentalne pliki nagłówkowe - „iostream” i „cSTRING”. C ++ zapewnia kilka sposobów pracy z tablicami i strunami. Funkcje te są udostępniane do użycia, gdy plik nagłówka jest zawarty w programie z plik nagłówka „#Include” używany do kopiowania określonej liczby bajtów danych z źródła do miejsca docelowego. Plik nagłówka „#Include” jest używany zarówno do wejścia, jak i wyjścia danych od użytkownika. Następnie używamy standardowego „przestrzeni nazw STD” w naszym kodzie do użycia standardowej składni języka programowania C ++, abyśmy mogli zapobiec odwoływaniu się obiektów, metod i parametrów.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

char src [50] = "1234567890";
char dest [50] = "0987654321";
Cout<< "Before Appyling memmove to Destination: " << dest << endl;
Memmove (Dest, Src, 6);
Cout<< "After Appyling memmove to Destination: " << dest;
powrót 0;


Zaczynamy pisać funkcję main (), aby rozpocząć wykonywanie rzeczywistej linii kodu. W wierszu 7 istnieje dwuparac o długości 50, który jest zadeklarowany jako „SRC [50]” i „Dest [50]”. Używamy instrukcji „Cout”, aby wydrukować wiadomość „Przed zastosowaniem Memmove () do miejsca docelowego:”. Następnie przekazujemy parametr „dest”, aby wydrukować wartość tablicy „dest”. Następnie funkcja memmove () jest stosowana do zmiennej typu znaku zadeklarowanego jako „src [50]” i „dest [50]”, aby nakładać pewną liczbę bajtów z pochodzenia (SRC) do celu (dest) z docelowym (dest) z Liczba „liczby”. To identyfikuje liczbę bajtów kopiowanych z „SRC” do „dest”. Jak widać na poniższej ilustracji, zadeklarowaliśmy liczbę „6”.

Następnie ponownie używamy instrukcji „Cout”, aby wyświetlić wiadomość „Po zastosowaniu Memmove () do miejsca docelowego:”, i przekazać zmienną tablicę „Dest” typu „Charakter”. Aby powstrzymać program przed uruchomieniem, musimy skorzystać z oświadczenia zwrotnego na wniosek programu. Następnie zwracamy 0 do głównej funkcji, wskazując, że program jest pomyślnie wykonywany i osiągamy jego cel.

Na następującym wyjściu metody Memmove () można zobaczyć, że jeśli pojawia się na przykład, gdy początkowa wskaźnik przechodzi do litery 6, wskaźnik nadal drukuje i następujące znaki nakładają się. Ten fragment kodu C ++ został uruchomiony, a wyniki są wyświetlane na następującym obrazie:

Wniosek

W tym artykule dowiedzieliśmy się o funkcji memmove () w językach programowania C i C ++. Rozmawialiśmy o tym, jak działa funkcja memmove () przez przykład C i C ++ ze szczegółowym wyjaśnieniem każdego wiersza kodu. Mamy nadzieję, że ten artykuł uznasz za pomocne w rozwijaniu swojej wiedzy na temat funkcji memmove () w C i C++.