我得到以下错误:

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时的OUPUT。

有帮助吗?

解决方案

在C中的双重引用的字符串中,我不认为 \' 有任何意义。看起来您的后背是为了保护 , ,这意味着它们应该在字符串中双背倾斜: remote_uid=\\'%d\\'.

其他提示

好吧,您无需逃脱字符串中的单个引号(例如 \' 应该只是 '),但我不确定那会导致您看到的错误。

我遇到了同样的问题,试图做同样的事情。

我的问题是我使用Winzip解压缩来源。使用7z后,它运行良好。

就我而言,我有一个外部定义变量带有逃脱的变量。

#define DEFINE \"string\"

它被转换为这样的代码:

cout << DEFINE; // source code

cout << \"string\"; // source code during compilation
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top