I think the longest string that can be made in C or C++ is the maximum value of an integer (as defined by size_t). Compilers will concantinate string liters just by NOT using ';' between lines. Note the use of quotes below The semicolon ; only appears at the end of the string.
char big_string[] = "ljasd lakdjfl lkjdf"
"lkjsdf alkdjf"
"kjhsdfkgh kjhdfg";