stream extraction (>>) only extracts to a white-space char (space, tab or newline). To obtain the whole line, use .getline() eg
cin.getline(t1, 256);
Note there is an issue mixing >> and getline(). >> doesn't consume the terminating white-space char, while getline() returns when a terminating white-space is found. If you mix >> and getline() then after a >> is used and before the .getline() use cin.ignore(1000, '\n') which will remove up to 1000 chars before the newline and remove the newline.