Implemente as seguintes funções:

char *strins(char *dest, char *orig)

Insere a string orig no início da string dest, retornando dest.

Exemplo:

char s[100] = “Autônoma”;

strins(s, “Universidade”);

printf(s);UniversidadeAutônoma

Passo 1

Fala aí! Pra resolver essa aqui de maneira bem simples, vamos usar alguns macetes, olha só como vai ficar nossa função:

Parece complicado, né? Mas é mais simples do que você pensa, estamos simplesmente usando duas outras funções bem conhecidas para conseguirmos o que o enunciado nos pede.

Da forma que escrevemos a primeira delas, strcpy vai copiar a string dest para a posição strlen(orig), para criarmos um espaço em branco equivalente ao tamanho de orig no início de dest.

Deixa eu mostrar como ficaria na prática. Se pegarmos o exemplo do enunciado, teremos a string dest = “Autônoma” e orig = “Universidade”:

E

Então, quando passarmos pela primeira instrução, vamos adicionar o tamanho de orig ao início de dest, ficando assim:

Passo 2

Depois disso, usamos a função memcpy para copiar um número de bytes equivalentes ao tamanho de orig, de orig para dest. Dessa forma, conseguimos preencher aquele espaço vazio criado anteriormente em dest com a string orig. E ficamos assim:

Para finalizar, retornamos a nova string dest. Assim, conseguimos o valor que queremos obter quando chamarmos a função strins lá no main.

Resposta