Memmove em C e C ++

Memmove em C e C ++

Hoje, vamos aprender uma das funções importantes da linguagem C e C ++, que é a função MEMMOVE (). Mas antes disso, vamos dar uma rápida olhada no básico dos idiomas C e C ++. Também discutiremos quais funções são nos dois idiomas C/C ++.

A linguagem de programação C é fácil e bastante eficaz para todos os fins. A implementação de software como Windows, bancos de dados, intérpretes e outras ferramentas é possível com ele. C é uma ótima linguagem para iniciantes para aprender a codificação com. É por isso que a programação C é conhecida como idioma da mãe, pois serve como base para todas as outras linguagens do computador. A base da linguagem de programação C ++ é baseada nas idéias da programação orientada a objetos (OOP). O usuário pode desenvolver e compreender os princípios do programa facilmente, já que o C ++ tem uma estrutura clara. A linguagem de programação C \ C ++ é excepcionalmente versátil na execução de várias funções e alternando uma variável de um tipo para outro. A função memmove () é uma das funções de c/c++.

A função memmove () transfere bytes "num" simultaneamente do conteúdo do bloco de memória, que é indicado pela fonte em direção ao local indicado pelo destino. A função memmove () é benéfica apenas quando os objetos de origem e destino se sobrepõem e impede que o comportamento indefinido ocorra. Para saber mais sobre a função memmove (), vamos cavar fundo e ver como implementar a sintaxe e exemplos na função Memmove ().

Sintaxe:

Aqui está o mesmo estilo de escrita e a implementação da função memmove () para idiomas C e C ++. Primeiro, escrevemos a palavra -chave "void", o que significa que, se a função não retornar nenhum valor, escrevemos o nome da função que queremos implementar qual é a função memmove (). Nos colchetes de função, escrevemos o destino para que possamos colocar os bytes "num" com a palavra -chave "void". Em seguida, escrevemos o local da fonte de onde obtemos os bytes "num".

Parâmetros:

dest: Endereço para o local de armazenamento no qual os dados são copiados.

SRC: Endereço para o local de armazenamento do qual os dados são copiados.

contar: Quantidade de dados para copiar de fonte para destino.

Valor de retorno:

Em troca, recebemos o endereço para a área de memória de destino. Dest é devolvido pela função Memmove ().

Exemplo 1: Implementação da função de memmove () em c

Vamos começar a implementar nosso primeiro e simples exemplo da linguagem C. Para começar a escrever, primeiro precisamos de um compilador C para que possamos escrever e executar o programa. Para isso, abra o compilador C e comece a implementar o programa.

#incluir
#incluir
int main ()

char ch1 [] = 'l', 'i', 'n', 'u', 'x';
int length = sizeof (ch1)/sizeof (ch1 [0]);
printf ("Antes de aplicar MemMove () function:");
para (int i = 0; i< length; i++)

printf ("%C", CH1 [i]);

char *ch2 = & ch1 [2];
Memmove (CH2, CH1, Sizeof (char)*2);
printf ("\ n \ Nafter Aplicando MemMove () Função:");
para (int i = 0; i<5; i++)

printf ("%C", CH1 [i]);

retornar 0;


Sempre começamos incorporando os módulos do programa principal depois de iniciar o compilador. Esses módulos são os módulos de idioma C. Simplesmente precisamos digitar uma linha de código para incluir esses módulos, em oposição a dezenas de linhas de código para construir o módulo. O indicador "#" informa o tradutor para carregar o módulo antes de usar a palavra -chave "incluir" para adicionar o módulo ao programa. O “stdio.Módulo H ”significa que o compilador aceita os dados do usuário e o mostra ao usuário. O segundo módulo do programa é "#include" para que possamos usar as funções relacionadas à string no programa existente.

Em seguida, iniciamos a função principal () para que possamos escrever a linha de código real que queremos implementar no programa. Na linha 6, declaramos o nome da matriz de caracteres "CH1" do caractere do tipo. Então, atribuímos um valor de personagem a ele. Depois disso, calculamos o comprimento do "CH1" e imprimimos a matriz de entrada "CH1" usando o "para loop".

Depois disso, declaramos o ponteiro para a matriz "CH2" de um personagem do tipo e atribuímos o endereço da matriz "CH1" à matriz "CH2". Em seguida, nós o imprimimos usando a instrução printf (). Vamos ver a saída da ilustração anterior:

Exemplo 2: Implementação da função de memmove () em c++

Aqui está o exemplo básico que mostra como a função MemMove () funciona na linguagem C ++. Para começar a escrever, primeiro precisamos de um IDE C ++ para que possamos escrever e executar o programa. Para isso, abra o compilador C ++ e comece a implementar o programa.

Depois de abrir o compilador, sempre começamos incluindo os arquivos de cabeçalho necessários para a linguagem de programação C ++ para os programas executarem. Para construir o programa e usar o método MemMove (), primeiro incluímos os dois arquivos fundamentais de cabeçalho - "iostream" e "cString". C ++ fornece várias maneiras de trabalhar com matrizes e strings. Essas funções são disponibilizadas para uso quando o arquivo de cabeçalho é incluído em um programa com o arquivo de cabeçalho "#include" usado para copiar um certo número de bytes de dados da fonte para o destino. O arquivo de cabeçalho "#include" é usado para a entrada e saída dos dados do usuário. Em seguida, usamos o "espaço para nome de nome" padrão em nosso código para usar a sintaxe padrão da linguagem de programação C ++ para que possamos impedir que os objetos, métodos e parâmetros de referência ao mesmo escopo em todo o programa inteiro.

#incluir
#incluir
usando namespace 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;
retornar 0;


Começamos a escrever a função principal () para iniciar a execução de uma linha de código real. Na linha 7, existe uma matriz de comprimento de dois caracteres 50, que é declarada como "SRC [50]" e "Dest [50]". Usamos a declaração "cout" para imprimir a mensagem "Antes de aplicar o memmove () ao destino:". Em seguida, passamos o parâmetro "dest" para imprimir o valor da matriz "dest". Em seguida, a função memmove () é aplicada à variável do tipo de caractere declarada como "src [50]" e "dest [50]" para sobrepor o certo número de bytes da origem (src) ao alvo (dest) com o Número de "contagem". Isso identifica o número de bytes que são copiados de "SRC" para "Dest". Como você pode ver na ilustração a seguir, declaramos o número da contagem “6”.

Depois disso, usamos a declaração "cout" novamente para exibir a mensagem, "depois de aplicar o memmove () ao destino:", e passe a variável "dest" a matriz de "personagem" do tipo. Para impedir que o programa seja executado, devemos utilizar uma declaração de retorno na conclusão do programa. Em seguida, retornamos 0 à função principal, indicando que o programa é executado com sucesso e alcançou seu objetivo.

Você pode ver na seguinte saída do método memmove () que, se houver sobreposição, por exemplo, quando o ponteiro inicial se move para a letra 6, o ponteiro continua imprimindo e os seguintes caracteres se sobrepõem. Este snippet de código C ++ foi executado e os resultados são exibidos na imagem a seguir:

Conclusão

Neste artigo, aprendemos sobre a função memmove () em linguagens de programação C e C ++. Conversamos sobre como a função memmove () funciona através do exemplo de C e C ++ com uma explicação detalhada de todas as linhas de código. Esperamos que você ache este artigo útil para desenvolver seu conhecimento sobre a função memmove () em c e c++.