Domanda

ottengo i seguenti errori:

error: missing terminating " character

e

error: stray `\' in program

In questa riga di codice C:

 system("sqlite3 -html /home/user/.rtcom-eventlogger/el.db \"SELECT service_id, event_type_id,free_text, remote_uid FROM Events WHERE remote_uid=\'%d\' ORDER BY start_time DESC;\" > lol.html", nr);

"NR" è una variabile intera.

Ho superato tante volte, ma sono totalmente bloccati di trovare una soluzione.

EDIT:. Gli errori è l'output durante la compilazione con gcc se non ho fatto chiaro

È stato utile?

Soluzione

all'interno di una stringa con virgolette doppie in C, io non credo che \' ha alcun significato. Sembra che la tua backslashing non è destinato a proteggere i singoli apici del guscio , il che significa che devono essere doppio backslash all'interno della stringa:. remote_uid=\\'%d\\'

Altri suggerimenti

Beh, non è necessario per sfuggire ai singoli apici all'interno della stringa (ad esempio \' dovrebbe essere solo '), ma non sono sicuro che questo sarebbe causare l'errore che state vedendo.

Ho avuto lo stesso problema, cercando di fare fondamentalmente la stessa cosa.

Il mio problema è che ho usato WinZip per decomprimere la fonte. Dopo aver utilizzato 7z ha funzionato benissimo.

Nel mio caso ho avuto definire una esterna variabile con scappato", in questo modo:

#define DEFINE \"string\"

E 'stato transclusa in codice come questo:

cout << DEFINE; // source code

cout << \"string\"; // source code during compilation
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top