Void dateformat (STD: string * strdatetime, char * szout) {char szyear [8] = {0}; char szmonth [4] = {0 }; char szday [4] = {0}; char szhour [4] = {0}; char szmin [4] = {0}; char szsec [4] = {0 }; strdatetime-> copy (szyear,); strdatetime-> copy (szmonth,); strdatetime-> copy (szday,); strdatetime-> copy (szhour ); strdatetime-> copy (szmin, 2, 10); strdatetime-> copy (szsec, 2, 12); char strdateout [50] = {0}; sprintf (szout, "% s-% S % s: % s", szyear, szmonth, szday, szhour, szmin, szsec);} void main () {# If 0std: String STR ("B + B"); string: size_type pos (0); Pos = Str. find ("+"); Str. replace (Pos, 1, "++"); STD: cout <STR <STD: Endl; # endif // STD: String strdatetime; // ("15:30:56"); // strdatetime. assign ("20100102121314"); // char szyear [8] = {0}; // char szmonth [4] = {0 }; // char szday [4] = {0}; // char szhour [4] = {0}; // char szmin [4] = {0 }; // char szsec [4] = {0}; // strdatetime. copy (szyear, 4, 0); // strdatetime. copy (szmonth, 2, 4); // strdatetime. copy (szday, 2, 6); // strdatetime. copy (szhour, 2, 8); // strdatetime. copy (szmin, 2, 10); // strdatetime. copy (szsec, 2, 12); char strdateout [50] = {0}; // sprintf (strdateout, "% s-% S % s: % s ", szyear, szmonth, szday, szhour, szmin, szsec); // strdatetime. replace (Pos, 1, "+"); // replace 16:22:22 to 2010-01-04 + 16: 22: 22std: string * strdatetime = new STD: string (); strdatetime-> assign ("20100102121314"); dateformat (strdatetime, strdateout); STD: cout <strdateout <"" <STD: Endl; Delete strdatetime; getchar ();}