Witam, moim zadaniem było napisanie programu który na początku prosi o imię i nazwisko do dwóch osobnych tablic, a potem przenosi nazwisko do tablicy z imieniem i rozdziela spacją, staram się użyć funkcji strcpy, jednak to powoduje że w tablicy name jest tylko nazwisko, próbowałem coś zrobić z tym, aby zaczeło się kopiować dopiero po imieniu, co zrobiłem nie tak? Czy zamiast używać strcpy nie użyć innej funkcji np. strcat lub memcpy? I jeszcze jedno, mój profesor używa zmiennej SilentBytes, gdy czytałem o srtcpy to tam są potrzebne tyko dwa stringi, w jakim celu on używa tej zmiennej?
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <string.h>
void inp_string(char* str, size_t SilentBytes);
void out_string(char* str);
void proc_string(char* str, char str1[], size_t SilentBytes);
int main()
{
char name[64], surname[32];
inp_string(name, sizeof(name));
inp_string(surname, sizeof(surname));
out_string(name);
out_string(surname);
proc_string(name, surname, sizeof(name));
printf("%s", name);
system("pause");
return 0;
}
void inp_string(char* str, size_t SilentBytes)
{
printf_s("Podaj imię i nazwisko:\n");
if (gets_s(str, SilentBytes - 1) == NULL)
printf("??? %s\n", str);
}
void out_string(char* str)
{
printf_s(" %s \n", str);
}
void proc_string(char* str, char str1[], size_t SilentBytes)
{
size_t lenght = strlen(str)+1;
strcpy_s(str+lenght, SilentBytes - 2,str1);
}