怪异的gcc错误流浪/丢失终止“ c中的字符
-
05-10-2019 - |
题
我得到以下错误:
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
不隶属于 StackOverflow