1

次のエラーが発生します。

error: missing terminating " character

error: stray `\' in program

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」は整数変数です。

私はこれを何度も繰り返しましたが、解決策を見つけるのに完全に行き詰まっています。

編集:私がそれを明確にしなかった場合、エラーはgccでコンパイルする際の出力です。

4

4 に答える 4

3

\'C の二重引用符で囲まれた文字列内では、意味がないと思います。バックスラッシュは、 shell内の一重引用符を保護することを意図しているようです。つまり、文字列内で二重バックスラッシュを使用する必要がありますremote_uid=\\'%d\\'

于 2010-05-27T19:48:10.463 に答える
1

文字列内の単一引用符をエスケープする必要はありません (たとえば、\'だけにする必要があります')。

于 2010-05-27T19:48:21.807 に答える
0

I had the same problem, trying to do basically the same thing.

My problem was that I used WinZip to decompress the source. After using 7z it worked fine.

于 2013-05-06T20:28:09.297 に答える