Jump to content
Fórum Script Brasil
  • 0

string


agam

Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148680
    • Total Posts
      644501
×
×
  • Create New...