Mam problem z zadaniem z symfonii c++. Do tablicy, która przechowuje już jakiś C-string, mam dokopiować tekst "UWAGA: ". Jeśli w rezultacie powstałby c-string dłuższy niż na to pozwala rozmiar tablicy docelowej, ostatnie trzy możliwe znaki mają być zastąpione trzema kropkami. Potrafię zrobić 'doklejanie' c-stringu, ale nie wiem jak zrobić tę część z trzema kropkami, gdy rozmiar będzie za mały na zmieszczenie stringu. Pomocy :(
Oto mój kod:
#include <iostream>
using namespace std;
char* cat(char* tab, int size);
int main()
{
const int ArrSize = 50;
char string1[ArrSize] = "Raz dwa trzy cztery piec szesc siedem ";
cout << cat(string1, ArrSize) << endl;
return 0;
}
char* cat(char* tab, int size)
{
char* pt = tab;
const char* string2 = "UWAGA: ";
while (*tab++);
tab--;
while (*tab++ = *string2++);
return pt;
}