Escrever uma função que receba como parâmetro duas strings, bem como um valor inteiro que representa uma posição. A função deve, portanto, inserir a segunda string no na posição indicada da primeira. Escreva um programa que receba estas duas strings do usuário, o valor da posição desejada, e chame a função anteriormente implementada e exiba o resultado ao usuário na tela. Para imprimir na tela e tirar o print screen, mostre o resultado utilizando o seu primeiro nome como string 1 e o seu último nome como string 2, e a posição de teste deverá ser o último digito do seu RU.
a parte que está me dando problema é a ultima linha que fica me dando está mensagem de alerta e ão deixa executar:
C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
jjá tentei mudar a última linha para strcpy_s também não funciona aparece estás mensagens:
C2660 'strcpy_s': função não recebe 2 argumentos parametro
E0304 nenhum instância de função sobrecarregada "strcpy_s" corresponde à lista de argumentos
pessoa ajuda para saber se alguém sabe como resolver isso ou se tem algum outro jeito de obter o resultado que pede. ex do resultado: primeira string: joão, segunda string lopes e intervalo 2, tem que me retornar na tela jolopesão.
já tentei colocar strcpy(tmp,string1) na ultima linha executa mas não me da o resultado desejado no caso só aparece a primeira string, nada da certo.
Pergunta
agam
Tenho este exercício para resolver:
Escrever uma função que receba como parâmetro duas strings, bem como um valor inteiro que representa uma posição. A função deve, portanto, inserir a segunda string no na posição indicada da primeira. Escreva um programa que receba estas duas strings do usuário, o valor da posição desejada, e chame a função anteriormente implementada e exiba o resultado ao usuário na tela. Para imprimir na tela e tirar o print screen, mostre o resultado utilizando o seu primeiro nome como string 1 e o seu último nome como string 2, e a posição de teste deverá ser o último digito do seu RU.
o algoritmo que estou tentando é este:
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
void contatenarStrings(char string1[], char string2[], int pos);
int main(void) {
char lastName[20];
char firstName[20];
int pos;
pintf("Digite seu primeiro nome");
gets_s(firstName);
printf("digite seu ultimo sobrenome")
gets_s(lastName);
printf("Digite o intervalo")
scanf_s("%d", &pos);
contatenarStrings(firstName, lastName, pos);
printf("%s\n", firstName);
return 0;
}
void contatenarStrings(char string1[], char string2[], int pos)
{
char tmp[20];
strncpy_s(tmp, string1, pos);
strcat_s(tmp, string2);
strcat_s(tmp, &string1[pos]);
strcat_s(tmp, string2);
strcpy(string1, tmp);
}
a parte que está me dando problema é a ultima linha que fica me dando está mensagem de alerta e ão deixa executar:
C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
jjá tentei mudar a última linha para strcpy_s também não funciona aparece estás mensagens:
C2660 'strcpy_s': função não recebe 2 argumentos parametro
E0304 nenhum instância de função sobrecarregada "strcpy_s" corresponde à lista de argumentos
pessoa ajuda para saber se alguém sabe como resolver isso ou se tem algum outro jeito de obter o resultado que pede. ex do resultado: primeira string: joão, segunda string lopes e intervalo 2, tem que me retornar na tela jolopesão.
já tentei colocar strcpy(tmp,string1) na ultima linha executa mas não me da o resultado desejado no caso só aparece a primeira string, nada da certo.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.