Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Two lines string for one pointer [duplicate]

Tags:

c++

c

sql

sqlite

Possible Duplicate:
How to split a string literal across multiple lines in C / Objective-C?

Sometime I have to write several SQL statements pointed by char variable like:

const char* sql="CREATE TABLE GenInf ( EmpName TEXT NOT NULL, Pyrll TEXT PRIMARY KEY,  DtBrth TEXT,  PlBrth TEXT, CID TEXT,  ContNo  TEXT,   JnDt TEXT,   Postn TEXT, Dept TEXT, AnnLv TEXT, EmrgLv TEXT, Irr TEXT, HmTwn TEXT, F1 TEXT, F2 TEXT ); CREATE TABLE Training( Pyrll TEXT NOT NULL, Crs TEXT, Dt TEXT, Plc TEXT, Cst TEXT);"; 

But it is very long, How can I put it as two lines?

like image 876
Aan Avatar asked Nov 24 '25 02:11

Aan


2 Answers

String literals in C and C++ can be put side to side, so this is exactly the same as your code:

const char* sql="CREATE TABLE "
    "GenInf ( EmpName TEXT NOT NULL, Pyrll TEXT PRIMARY KEY,  "
    "DtBrth TEXT,  PlBrth TEXT, CID TEXT,  ContNo  TEXT,   "
    "JnDt TEXT,   Postn TEXT, Dept TEXT, AnnLv TEXT, "
    "EmrgLv TEXT, Irr TEXT, HmTwn TEXT, F1 TEXT, F2 TEXT ); "
    "CREATE TABLE Training( Pyrll TEXT NOT NULL, Crs TEXT, "
    "Dt TEXT, Plc TEXT, Cst TEXT);";

I prefer this to the \ solution because the whitespaces at the line breaks are more easily visible, and you can indent at will.

like image 139
rodrigo Avatar answered Nov 25 '25 15:11

rodrigo


You can write it like this:

const char * sql =
    "CREATE TABLE GenInf ( EmpName TEXT NOT NULL, Pyrll TEXT PRIMARY KEY,"
    "DtBrth TEXT,  PlBrth TEXT, CID TEXT,  ContNo  TEXT,   JnDt TEXT,   " 
    "Postn TEXT, Dept TEXT, AnnLv TEXT, EmrgLv TEXT, Irr TEXT, HmTwn TEXT, "
    "F1 TEXT, F2 TEXT ); "
    "CREATE TABLE Training( Pyrll TEXT NOT NULL, Crs TEXT, Dt TEXT, Plc "
    "TEXT, Cst TEXT);";
like image 20
Vikdor Avatar answered Nov 25 '25 16:11

Vikdor